COIN-OR::LEMON - Graph Library

Changeset 909:6a22e0dfd453 in lemon-0.x for src/test


Ignore:
Timestamp:
09/26/04 23:43:38 (16 years ago)
Author:
Balazs Dezso
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1220
Message:

New symmetric Graph concept.
New symmetric list and smart graph.
Symmetric Graph tests based on the Graph Tests.

Location:
src/test
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • src/test/Makefile.am

    r899 r909  
    1010        dijkstra_test \
    1111        graph_test \
     12        sym_graph_test \
    1213        graph_wrapper_test \
    1314        kruskal_test \
     
    2930dijkstra_test_SOURCES = dijkstra_test.cc
    3031graph_test_SOURCES = graph_test.cc
     32sym_graph_test_SOURCES = sym_graph_test.cc
    3133graph_wrapper_test_SOURCES = graph_wrapper_test.cc
    3234kruskal_test_SOURCES = kruskal_test.cc
  • src/test/graph_test.cc

    r906 r909  
    6464    checkGraphInEdgeList(G,n,3);
    6565    checkGraphOutEdgeList(G,n,3);
    66     ++n;
    6766  } 
    6867}
     
    8382
    8483//Compile SymSmartGraph
    85 template void hugo::checkCompileGraph<SymSmartGraph>(SymSmartGraph &);
    86 template void hugo::checkCompileGraphFindEdge<SymSmartGraph>(SymSmartGraph &);
     84//template void hugo::checkCompileGraph<SymSmartGraph>(SymSmartGraph &);
     85//template void hugo::checkCompileGraphFindEdge<SymSmartGraph>(SymSmartGraph &);
    8786
    8887//Compile ListGraph
     
    9392
    9493//Compile SymListGraph
    95 template void hugo::checkCompileGraph<SymListGraph>(SymListGraph &);
    96 template void hugo::checkCompileErasableGraph<SymListGraph>(SymListGraph &);
    97 template void hugo::checkCompileGraphFindEdge<SymListGraph>(SymListGraph &);
     94//template void hugo::checkCompileGraph<SymListGraph>(SymListGraph &);
     95//template void hugo::checkCompileErasableGraph<SymListGraph>(SymListGraph &);
     96//template void hugo::checkCompileGraphFindEdge<SymListGraph>(SymListGraph &);
    9897
    9998//Compile FullGraph
     
    132131  }
    133132  {
    134     SymSmartGraph G;
    135     addPetersen(G);
    136     checkPetersen(G);
     133    //    SymSmartGraph G;
     134    //    addPetersen(G);
     135    //    checkPetersen(G);
    137136  }
    138137  {
    139     SymListGraph G;
    140     addPetersen(G);
    141     checkPetersen(G);
     138    //    SymListGraph G;
     139    //    addPetersen(G);
     140    //    checkPetersen(G);
    142141  }
    143142
  • src/test/test_tools.h

    r906 r909  
    6868
    6969///Adds a Petersen graph to \c G.
    70 ///\return The nodes end edges og the generated graph.
     70///\return The nodes and edges of the generated graph.
    7171
    7272template<typename Graph>
     
    8888}
    8989
     90///Structure returned by \ref addSymPetersen().
    9091
     92///Structure returned by \ref addSymPetersen().
     93///
     94template<class Graph> struct SymPetStruct
     95{
     96  ///Vector containing the outer nodes.
     97  std::vector<typename Graph::Node> outer;
     98  ///Vector containing the inner nodes.
     99  std::vector<typename Graph::Node> inner;
     100  ///Vector containing the edges of the inner circle.
     101  std::vector<typename Graph::SymEdge> incir;
     102  ///Vector containing the edges of the outer circle.
     103  std::vector<typename Graph::SymEdge> outcir;
     104  ///Vector containing the chord edges.
     105  std::vector<typename Graph::SymEdge> chords;
     106};
     107
     108///Adds a Petersen graph to the symmetric \c G.
     109
     110///Adds a Petersen graph to the symmetric \c G.
     111///\return The nodes and edges of the generated graph.
     112
     113template<typename Graph>
     114SymPetStruct<Graph> addSymPetersen(Graph &G,int num=5)
     115{
     116  SymPetStruct<Graph> n;
     117
     118  for(int i=0;i<num;i++) {
     119    n.outer.push_back(G.addNode());
     120    n.inner.push_back(G.addNode());
     121  }
     122
     123 for(int i=0;i<num;i++) {
     124   n.chords.push_back(G.addEdge(n.outer[i],n.inner[i]));
     125   n.outcir.push_back(G.addEdge(n.outer[i],n.outer[(i+1)%5]));
     126   n.incir.push_back(G.addEdge(n.inner[i],n.inner[(i+2)%5]));
     127  }
     128 return n;
     129}
    91130
    92131#endif
Note: See TracChangeset for help on using the changeset viewer.