src/work/marci/graph_wrapper_test.cc
author alpar
Thu, 16 Sep 2004 19:23:41 +0000
changeset 873 f3a30fda2e49
parent 870 9bde6cd8e3da
permissions -rw-r--r--
- GraphSkeleton renamed to ExtendableGraphSkeleton
- Use full explicit namespaces in some places in order to work with icc. (I don't know why they are necessary.)
     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 
     8 #include"test/test_tools.h"
     9 #include"test/graph_test.h"
    10 
    11 /**
    12 \file
    13 This test makes consistency checks of list graph structures.
    14 
    15 G.addNode(), G.addEdge(), G.tail(), G.head()
    16 
    17 \todo Checks for empty graphs and isolated points.
    18 conversion.
    19 */
    20 
    21 using namespace hugo;
    22 
    23 // template<class Graph> void bidirPetersen(Graph &G)
    24 // {
    25 //   typedef typename Graph::Edge Edge;
    26 //   typedef typename Graph::EdgeIt EdgeIt;
    27   
    28 //   checkGraphEdgeList(G,15);
    29   
    30 //   std::vector<Edge> ee;
    31   
    32 //   for(EdgeIt e(G);e!=INVALID;++e) ee.push_back(e);
    33 
    34 //   for(typename std::vector<Edge>::iterator p=ee.begin();p!=ee.end();p++)
    35 //     G.addEdge(G.head(*p),G.tail(*p));
    36 // }
    37 
    38 // template<class Graph> void checkPetersen(Graph &G)
    39 // {
    40 //   typedef typename Graph::Node Node;
    41 
    42 //   typedef typename Graph::EdgeIt EdgeIt;
    43 //   typedef typename Graph::NodeIt NodeIt;
    44 
    45 //   checkGraphNodeList(G,10);
    46 //   checkGraphEdgeList(G,30);
    47 
    48 //   for(NodeIt n(G);n!=INVALID;++n) {
    49 //     checkGraphInEdgeList(G,n,3);
    50 //     checkGraphOutEdgeList(G,n,3);
    51 //     ++n;
    52 //   }  
    53 // }
    54 
    55 // //Compile GraphSkeleton
    56 // template void checkCompileStaticGraph<skeleton::StaticGraphSkeleton>
    57 // (skeleton::StaticGraphSkeleton &);
    58 
    59 // template void checkCompileGraph<skeleton::ExtendableGraphSkeleton>
    60 // (skeleton::ExtendableGraphSkeleton &);
    61 
    62 // template void checkCompileErasableGraph<skeleton::ErasableGraphSkeleton>
    63 // (skeleton::ErasableGraphSkeleton &);
    64 
    65 //Compile SmartGraph
    66 typedef SmartGraph Graph;
    67 typedef GraphWrapper<Graph> GW;
    68 template void checkCompileStaticGraph<GW>(GW &);
    69 //template void checkCompileGraphFindEdge<SmartGraph>(SmartGraph &);
    70 
    71 //Compile SymSmartGraph
    72 typedef RevGraphWrapper<Graph> RevGW;
    73 template 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 
   106 int 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 }