6 #include <lemon/concept/graph.h>
7 #include <lemon/list_graph.h>
8 #include <lemon/smart_graph.h>
9 #include <lemon/full_graph.h>
11 #include "test_tools.h"
12 #include "graph_test.h"
16 using namespace lemon;
17 using namespace lemon::concept;
22 { // checking graph components
23 checkConcept<BaseGraphComponent, BaseGraphComponent >();
25 checkConcept<BaseIterableGraphComponent, BaseIterableGraphComponent >();
27 checkConcept<IDableGraphComponent, IDableGraphComponent >();
28 checkConcept<MaxIDableGraphComponent, MaxIDableGraphComponent >();
30 checkConcept<BaseExtendableGraphComponent, BaseExtendableGraphComponent >();
31 checkConcept<BaseErasableGraphComponent, BaseErasableGraphComponent >();
32 checkConcept<BaseClearableGraphComponent, BaseClearableGraphComponent >();
34 checkConcept<IterableGraphComponent, IterableGraphComponent >();
36 checkConcept<MappableGraphComponent, MappableGraphComponent >();
38 checkConcept<ExtendableGraphComponent, ExtendableGraphComponent >();
39 checkConcept<ErasableGraphComponent, ErasableGraphComponent >();
40 checkConcept<ClearableGraphComponent, ClearableGraphComponent >();
42 { // checking skeleton graphs
43 checkConcept<StaticGraph, StaticGraph >();
44 checkConcept<ExtendableGraph, ExtendableGraph >();
45 checkConcept<ErasableGraph, ErasableGraph >();
47 { // checking list graph
48 checkConcept<ErasableGraph, ListGraph >();
50 checkGraph<ListGraph>();
51 checkGraphNodeMap<ListGraph>();
52 checkGraphEdgeMap<ListGraph>();
54 { // checking smart graph
55 checkConcept<ExtendableGraph, SmartGraph >();
57 checkGraph<SmartGraph>();
58 checkGraphNodeMap<SmartGraph>();
59 checkGraphEdgeMap<SmartGraph>();
61 { // checking full graph
62 checkConcept<StaticGraph, FullGraph >();
65 std::cout << __FILE__ ": All tests passed.\n";