2 #include<hugo/smart_graph.h>
3 #include<hugo/skeletons/graph.h>
4 #include<hugo/list_graph.h>
5 #include<hugo/full_graph.h>
6 #include<hugo/graph_wrapper.h>
8 #include"test/test_tools.h"
9 #include"test/graph_test.h"
13 This test makes consistency checks of list graph structures.
15 G.addNode(), G.addEdge(), G.tail(), G.head()
17 \todo Checks for empty graphs and isolated points.
23 // template<class Graph> void bidirPetersen(Graph &G)
25 // typedef typename Graph::Edge Edge;
26 // typedef typename Graph::EdgeIt EdgeIt;
28 // checkGraphEdgeList(G,15);
30 // std::vector<Edge> ee;
32 // for(EdgeIt e(G);e!=INVALID;++e) ee.push_back(e);
34 // for(typename std::vector<Edge>::iterator p=ee.begin();p!=ee.end();p++)
35 // G.addEdge(G.head(*p),G.tail(*p));
38 // template<class Graph> void checkPetersen(Graph &G)
40 // typedef typename Graph::Node Node;
42 // typedef typename Graph::EdgeIt EdgeIt;
43 // typedef typename Graph::NodeIt NodeIt;
45 // checkGraphNodeList(G,10);
46 // checkGraphEdgeList(G,30);
48 // for(NodeIt n(G);n!=INVALID;++n) {
49 // checkGraphInEdgeList(G,n,3);
50 // checkGraphOutEdgeList(G,n,3);
55 // //Compile GraphSkeleton
56 // template void checkCompileStaticGraph<skeleton::StaticGraphSkeleton>
57 // (skeleton::StaticGraphSkeleton &);
59 // template void checkCompileGraph<skeleton::ExtendableGraphSkeleton>
60 // (skeleton::ExtendableGraphSkeleton &);
62 // template void checkCompileErasableGraph<skeleton::ErasableGraphSkeleton>
63 // (skeleton::ErasableGraphSkeleton &);
66 typedef SmartGraph Graph;
67 typedef GraphWrapper<Graph> GW;
68 template void checkCompileStaticGraph<GW>(GW &);
69 //template void checkCompileGraphFindEdge<SmartGraph>(SmartGraph &);
71 //Compile SymSmartGraph
72 typedef RevGraphWrapper<Graph> RevGW;
73 template void checkCompileStaticGraph<RevGW>(RevGW &);
74 //template void checkCompileGraphFindEdge<SymSmartGraph>(SymSmartGraph &);
76 // //Compile ListGraph
77 // template void checkCompileGraph<ListGraph>(ListGraph &);
78 // template void checkCompileErasableGraph<ListGraph>(ListGraph &);
79 // template void checkCompileGraphFindEdge<ListGraph>(ListGraph &);
82 // //Compile SymListGraph
83 // template void checkCompileGraph<SymListGraph>(SymListGraph &);
84 // template void checkCompileErasableGraph<SymListGraph>(SymListGraph &);
85 // template void checkCompileGraphFindEdge<SymListGraph>(SymListGraph &);
87 // //Compile FullGraph
88 // template void checkCompileStaticGraph<FullGraph>(FullGraph &);
89 // template void checkCompileGraphFindEdge<FullGraph>(FullGraph &);
91 // //Compile EdgeSet <ListGraph>
92 // template void checkCompileGraph<EdgeSet <ListGraph> >(EdgeSet <ListGraph> &);
93 // template void checkCompileGraphEraseEdge<EdgeSet <ListGraph> >
94 // (EdgeSet <ListGraph> &);
95 // template void checkCompileGraphFindEdge<EdgeSet <ListGraph> >
96 // (EdgeSet <ListGraph> &);
98 // //Compile EdgeSet <NodeSet>
99 // template void checkCompileGraph<EdgeSet <NodeSet> >(EdgeSet <NodeSet> &);
100 // template void checkCompileGraphEraseEdge<EdgeSet <NodeSet> >
101 // (EdgeSet <NodeSet> &);
102 // template void checkCompileGraphFindEdge<EdgeSet <NodeSet> >
103 // (EdgeSet <NodeSet> &);
133 ///\todo copy constr tests.
135 std::cout << __FILE__ ": All tests passed.\n";