1.1 --- a/src/test/graph_test.cc Thu May 06 23:05:01 2004 +0000
1.2 +++ b/src/test/graph_test.cc Fri May 07 05:29:45 2004 +0000
1.3 @@ -1,6 +1,6 @@
1.4 #include<iostream>
1.5 #include<hugo/smart_graph.h>
1.6 -//#include<hugo/skeletons/graph.h>
1.7 +#include<hugo/skeletons/graph.h>
1.8 //#include<../work/alpar/list_graph.h>
1.9
1.10 /*
1.11 @@ -172,22 +172,29 @@
1.12
1.13 }
1.14
1.15 -
1.16 -
1.17 -template<class Graph> void addPetersen(Graph &G)
1.18 +template<class Graph> struct PetNodes
1.19 {
1.20 std::vector<typename Graph::Node> outer, inner;
1.21 + std::vector<typename Graph::Edge> outcir, incir, cons;
1.22 +};
1.23 +
1.24 +template<class Graph> PetNodes<Graph> addPetersen(Graph &G,int num=5)
1.25 +{
1.26 + //std::vector<typename Graph::Node> outer, inner;
1.27
1.28 - for(int i=0;i<5;i++) {
1.29 - outer.push_back(G.addNode());
1.30 - inner.push_back(G.addNode());
1.31 + PetNodes<Graph> n;
1.32 +
1.33 + for(int i=0;i<num;i++) {
1.34 + n.outer.push_back(G.addNode());
1.35 + n.inner.push_back(G.addNode());
1.36 }
1.37
1.38 - for(int i=0;i<5;i++) {
1.39 - G.addEdge(outer[i],inner[i]);
1.40 - G.addEdge(outer[i],outer[(i+1)%5]);
1.41 - G.addEdge(inner[i],inner[(i+2)%5]);
1.42 + for(int i=0;i<num;i++) {
1.43 + n.cons.push_back(G.addEdge(n.outer[i],n.inner[i]));
1.44 + n.outcir.push_back(G.addEdge(n.outer[i],n.outer[(i+1)%5]));
1.45 + n.incir.push_back(G.addEdge(n.inner[i],n.inner[(i+2)%5]));
1.46 }
1.47 + return n;
1.48 }
1.49
1.50 template<class Graph> void checkNodeList(Graph &G, int nn)
1.51 @@ -269,7 +276,7 @@
1.52 }
1.53 }
1.54
1.55 -//template void checkCompile<GraphSkeleton>(GraphSkeleton &);
1.56 +template void checkCompile<GraphSkeleton>(GraphSkeleton &);
1.57 template void checkCompile<SmartGraph>(SmartGraph &);
1.58 template void checkCompile<SymSmartGraph>(SymSmartGraph &);
1.59 //template void checkCompile<ListGraph>(ListGraph &);
1.60 @@ -286,22 +293,22 @@
1.61 bidirPetersen(G);
1.62 checkPetersen(G);
1.63 }
1.64 - {
1.65 - ListGraph G;
1.66 - addPetersen(G);
1.67 - bidirPetersen(G);
1.68 - checkPetersen(G);
1.69 - }
1.70 +// {
1.71 +// ListGraph G;
1.72 +// addPetersen(G);
1.73 +// bidirPetersen(G);
1.74 +// checkPetersen(G);
1.75 +// }
1.76 {
1.77 SymSmartGraph G;
1.78 addPetersen(G);
1.79 checkPetersen(G);
1.80 }
1.81 - {
1.82 - SymListGraph G;
1.83 - addPetersen(G);
1.84 - checkPetersen(G);
1.85 - }
1.86 +// {
1.87 +// SymListGraph G;
1.88 +// addPetersen(G);
1.89 +// checkPetersen(G);
1.90 +// }
1.91
1.92 //\todo map tests.
1.93 //\todo copy constr tests.