COIN-OR::LEMON - Graph Library

source: lemon-0.x/src/work/marci/graph_wrapper_test.cc @ 873:f3a30fda2e49

Last change on this file since 873:f3a30fda2e49 was 873:f3a30fda2e49, checked in by Alpar Juttner, 20 years ago
File size: 3.6 KB
RevLine 
[849]1#include<iostream>
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>
7
[870]8#include"test/test_tools.h"
9#include"test/graph_test.h"
[849]10
11/**
12\file
13This test makes consistency checks of list graph structures.
14
15G.addNode(), G.addEdge(), G.tail(), G.head()
16
17\todo Checks for empty graphs and isolated points.
18conversion.
19*/
20
21using namespace hugo;
22
[870]23// template<class Graph> void bidirPetersen(Graph &G)
24// {
25//   typedef typename Graph::Edge Edge;
26//   typedef typename Graph::EdgeIt EdgeIt;
[849]27 
[870]28//   checkGraphEdgeList(G,15);
[849]29 
[870]30//   std::vector<Edge> ee;
[849]31 
[870]32//   for(EdgeIt e(G);e!=INVALID;++e) ee.push_back(e);
[849]33
[870]34//   for(typename std::vector<Edge>::iterator p=ee.begin();p!=ee.end();p++)
35//     G.addEdge(G.head(*p),G.tail(*p));
36// }
[849]37
[870]38// template<class Graph> void checkPetersen(Graph &G)
39// {
40//   typedef typename Graph::Node Node;
[849]41
[870]42//   typedef typename Graph::EdgeIt EdgeIt;
43//   typedef typename Graph::NodeIt NodeIt;
[849]44
[870]45//   checkGraphNodeList(G,10);
46//   checkGraphEdgeList(G,30);
[849]47
[870]48//   for(NodeIt n(G);n!=INVALID;++n) {
49//     checkGraphInEdgeList(G,n,3);
50//     checkGraphOutEdgeList(G,n,3);
51//     ++n;
52//   } 
53// }
[849]54
[870]55// //Compile GraphSkeleton
56// template void checkCompileStaticGraph<skeleton::StaticGraphSkeleton>
57// (skeleton::StaticGraphSkeleton &);
[849]58
[873]59// template void checkCompileGraph<skeleton::ExtendableGraphSkeleton>
60// (skeleton::ExtendableGraphSkeleton &);
[849]61
[870]62// template void checkCompileErasableGraph<skeleton::ErasableGraphSkeleton>
63// (skeleton::ErasableGraphSkeleton &);
[849]64
65//Compile SmartGraph
66typedef SmartGraph Graph;
67typedef GraphWrapper<Graph> GW;
68template void checkCompileStaticGraph<GW>(GW &);
69//template void checkCompileGraphFindEdge<SmartGraph>(SmartGraph &);
70
71//Compile SymSmartGraph
72typedef RevGraphWrapper<Graph> RevGW;
73template void checkCompileStaticGraph<RevGW>(RevGW &);
74//template void checkCompileGraphFindEdge<SymSmartGraph>(SymSmartGraph &);
75
76// //Compile ListGraph
77// template void checkCompileGraph<ListGraph>(ListGraph &);
78// template void checkCompileErasableGraph<ListGraph>(ListGraph &);
79// template void checkCompileGraphFindEdge<ListGraph>(ListGraph &);
80
81
82// //Compile SymListGraph
83// template void checkCompileGraph<SymListGraph>(SymListGraph &);
84// template void checkCompileErasableGraph<SymListGraph>(SymListGraph &);
85// template void checkCompileGraphFindEdge<SymListGraph>(SymListGraph &);
86
87// //Compile FullGraph
88// template void checkCompileStaticGraph<FullGraph>(FullGraph &);
89// template void checkCompileGraphFindEdge<FullGraph>(FullGraph &);
90
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> &);
97
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> &);
104
105
106int main()
107{
108 //  {
109//     SmartGraph G;
110//     addPetersen(G);
111//     bidirPetersen(G);
112//     checkPetersen(G);
113//   }
114//   {
115//     ListGraph G;
116//     addPetersen(G);
117//     bidirPetersen(G);
118//     checkPetersen(G);
119//   }
120//   {
121//     SymSmartGraph G;
122//     addPetersen(G);
123//     checkPetersen(G);
124//   }
125//   {
126//     SymListGraph G;
127//     addPetersen(G);
128//     checkPetersen(G);
129//   }
130
131  ///\file
132  ///\todo map tests.
133  ///\todo copy constr tests.
134
135  std::cout << __FILE__ ": All tests passed.\n";
136
137  return 0;
138}
Note: See TracBrowser for help on using the repository browser.