COIN-OR::LEMON - Graph Library

source: lemon-0.x/test/graph_test.cc @ 2230:67af33b34394

Last change on this file since 2230:67af33b34394 was 2121:09a07a851506, checked in by Balazs Dezso, 14 years ago

Modifications in the Graph Component concepts

File size: 2.2 KB
Line 
1/* -*- C++ -*-
2 *
3 * This file is a part of LEMON, a generic C++ optimization library
4 *
5 * Copyright (C) 2003-2006
6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
7 * (Egervary Research Group on Combinatorial Optimization, EGRES).
8 *
9 * Permission to use, modify and distribute this software is granted
10 * provided that this copyright notice appears in all copies. For
11 * precise terms see the accompanying LICENSE file.
12 *
13 * This software is provided "AS IS" with no warranty of any kind,
14 * express or implied, and with no claim as to its suitability for any
15 * purpose.
16 *
17 */
18
19#include <iostream>
20#include <vector>
21
22#include <lemon/concept/graph.h>
23#include <lemon/list_graph.h>
24#include <lemon/smart_graph.h>
25#include <lemon/full_graph.h>
26#include <lemon/hypercube_graph.h>
27
28#include "test_tools.h"
29#include "graph_test.h"
30#include "map_test.h"
31
32
33using namespace lemon;
34using namespace lemon::concept;
35
36
37int main() {
38  { // checking graph components
39    checkConcept<BaseGraphComponent, BaseGraphComponent >();
40
41    checkConcept<BaseIterableGraphComponent<>,
42      BaseIterableGraphComponent<> >();
43
44    checkConcept<IDableGraphComponent<>,
45      IDableGraphComponent<> >();
46
47    checkConcept<IterableGraphComponent<>,
48      IterableGraphComponent<> >();
49
50    checkConcept<MappableGraphComponent<>,
51      MappableGraphComponent<> >();
52
53  }
54  { // checking skeleton graphs
55    checkConcept<Graph, Graph>();
56  }
57  { // checking list graph
58    checkConcept<Graph, ListGraph >();
59    checkConcept<AlterableGraphComponent<>, ListGraph>();
60    checkConcept<ExtendableGraphComponent<>, ListGraph>();
61    checkConcept<ClearableGraphComponent<>, ListGraph>();
62    checkConcept<ErasableGraphComponent<>, ListGraph>();
63
64    checkGraph<ListGraph>();
65    checkGraphNodeMap<ListGraph>();
66    checkGraphEdgeMap<ListGraph>();
67  }
68  { // checking smart graph
69    checkConcept<Graph, SmartGraph >();
70
71    checkGraph<SmartGraph>();
72    checkGraphNodeMap<SmartGraph>();
73    checkGraphEdgeMap<SmartGraph>();
74  }
75  { // checking full graph
76    checkConcept<Graph, FullGraph >();
77  }
78  { // checking full graph
79    checkConcept<Graph, HyperCubeGraph >();
80  }
81
82  std::cout << __FILE__ ": All tests passed.\n";
83
84  return 0;
85}
Note: See TracBrowser for help on using the repository browser.