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;
21 { // checking graph components
22 checkConcept<BaseGraphComponent, BaseGraphComponent >();
24 checkConcept<BaseIterableGraphComponent, BaseIterableGraphComponent >();
26 checkConcept<IDableGraphComponent, IDableGraphComponent >();
27 checkConcept<MaxIDableGraphComponent, MaxIDableGraphComponent >();
29 checkConcept<BaseExtendableGraphComponent, BaseExtendableGraphComponent >();
30 checkConcept<BaseErasableGraphComponent, BaseErasableGraphComponent >();
32 checkConcept<IterableGraphComponent, IterableGraphComponent >();
34 checkConcept<MappableGraphComponent, MappableGraphComponent >();
36 checkConcept<ExtendableGraphComponent, ExtendableGraphComponent >();
37 checkConcept<ErasableGraphComponent, ErasableGraphComponent >();
38 checkConcept<ClearableGraphComponent, ClearableGraphComponent >();
40 { // checking skeleton graphs
41 checkConcept<StaticGraph, StaticGraph >();
42 checkConcept<ExtendableGraph, ExtendableGraph >();
43 checkConcept<ErasableGraph, ErasableGraph >();
45 { // checking list graph
46 checkConcept<ErasableGraph, ListGraph >();
48 checkGraph<ListGraph>();
49 checkGraphNodeMap<ListGraph>();
50 checkGraphEdgeMap<ListGraph>();
52 { // checking smart graph
53 checkConcept<ExtendableGraph, SmartGraph >();
55 checkGraph<SmartGraph>();
56 checkGraphNodeMap<SmartGraph>();
57 checkGraphEdgeMap<SmartGraph>();
59 { // checking full graph
60 checkConcept<StaticGraph, FullGraph >();
63 std::cout << __FILE__ ": All tests passed.\n";