6 #include <lemon/skeletons/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::skeleton;
22 { // checking graph components
23 function_requires<BaseGraphComponentConcept<BaseGraphComponent> >();
25 function_requires<BaseIterableGraphComponentConcept<BaseIterableGraphComponent> >();
27 function_requires<IDableGraphComponentConcept<IDableGraphComponent> >();
28 function_requires<MaxIDableGraphComponentConcept<MaxIDableGraphComponent> >();
30 function_requires<BaseExtendableGraphComponentConcept<BaseExtendableGraphComponent> >();
31 function_requires<BaseErasableGraphComponentConcept<BaseErasableGraphComponent> >();
32 function_requires<BaseClearableGraphComponentConcept<BaseClearableGraphComponent> >();
34 function_requires<IterableGraphComponentConcept<IterableGraphComponent> >();
36 function_requires<IdMappableGraphComponentConcept<IdMappableGraphComponent> >();
37 function_requires<MappableGraphComponentConcept<MappableGraphComponent> >();
39 function_requires<ExtendableGraphComponentConcept<ExtendableGraphComponent> >();
40 function_requires<ErasableGraphComponentConcept<ErasableGraphComponent> >();
41 function_requires<ClearableGraphComponentConcept<ClearableGraphComponent> >();
43 { // checking skeleton graphs
44 function_requires<StaticGraphConcept<StaticGraph> >();
45 function_requires<ExtendableGraphConcept<ExtendableGraph> >();
46 function_requires<ErasableGraphConcept<ErasableGraph> >();
48 { // checking list graph
49 function_requires<ErasableGraphConcept<ListGraph> >();
51 checkGraph<ListGraph>();
52 checkGraphNodeMap<ListGraph>();
53 checkGraphEdgeMap<ListGraph>();
55 { // checking smart graph
56 function_requires<ExtendableGraphConcept<SmartGraph> >();
58 checkGraph<SmartGraph>();
59 checkGraphNodeMap<SmartGraph>();
60 checkGraphEdgeMap<SmartGraph>();
62 { // checking full graph
63 function_requires<StaticGraphConcept<FullGraph> >();
66 std::cout << __FILE__ ": All tests passed.\n";