test/digraph_test.cc
changeset 228 b6732e0d38c5
parent 209 765619b7cbb2
child 365 37557a46e298
child 387 49d9a36b3b84
     1.1 --- a/test/digraph_test.cc	Fri Jul 18 17:26:12 2008 +0100
     1.2 +++ b/test/digraph_test.cc	Mon Jul 21 16:30:28 2008 +0200
     1.3 @@ -24,12 +24,63 @@
     1.4  
     1.5  #include "test_tools.h"
     1.6  #include "graph_test.h"
     1.7 -#include "graph_maps_test.h"
     1.8  
     1.9  using namespace lemon;
    1.10  using namespace lemon::concepts;
    1.11  
    1.12 -void check_concepts() {
    1.13 +template <class Digraph>
    1.14 +void checkDigraph() {
    1.15 +  TEMPLATE_DIGRAPH_TYPEDEFS(Digraph);
    1.16 +  Digraph G;
    1.17 +
    1.18 +  checkGraphNodeList(G, 0);
    1.19 +  checkGraphArcList(G, 0);
    1.20 +
    1.21 +  Node
    1.22 +    n1 = G.addNode(),
    1.23 +    n2 = G.addNode(),
    1.24 +    n3 = G.addNode();
    1.25 +  checkGraphNodeList(G, 3);
    1.26 +  checkGraphArcList(G, 0);
    1.27 +
    1.28 +  Arc a1 = G.addArc(n1, n2);
    1.29 +  check(G.source(a1) == n1 && G.target(a1) == n2, "Wrong arc");
    1.30 +  checkGraphNodeList(G, 3);
    1.31 +  checkGraphArcList(G, 1);
    1.32 +
    1.33 +  checkGraphOutArcList(G, n1, 1);
    1.34 +  checkGraphOutArcList(G, n2, 0);
    1.35 +  checkGraphOutArcList(G, n3, 0);
    1.36 +
    1.37 +  checkGraphInArcList(G, n1, 0);
    1.38 +  checkGraphInArcList(G, n2, 1);
    1.39 +  checkGraphInArcList(G, n3, 0);
    1.40 +
    1.41 +  checkGraphConArcList(G, 1);
    1.42 +
    1.43 +  Arc a2 = G.addArc(n2, n1), a3 = G.addArc(n2, n3), a4 = G.addArc(n2, n3);
    1.44 +  checkGraphNodeList(G, 3);
    1.45 +  checkGraphArcList(G, 4);
    1.46 +
    1.47 +  checkGraphOutArcList(G, n1, 1);
    1.48 +  checkGraphOutArcList(G, n2, 3);
    1.49 +  checkGraphOutArcList(G, n3, 0);
    1.50 +
    1.51 +  checkGraphInArcList(G, n1, 1);
    1.52 +  checkGraphInArcList(G, n2, 1);
    1.53 +  checkGraphInArcList(G, n3, 2);
    1.54 +
    1.55 +  checkGraphConArcList(G, 4);
    1.56 +
    1.57 +  checkNodeIds(G);
    1.58 +  checkArcIds(G);
    1.59 +  checkGraphNodeMap(G);
    1.60 +  checkGraphArcMap(G);
    1.61 +
    1.62 +}
    1.63 +
    1.64 +
    1.65 +void checkConcepts() {
    1.66    { // Checking digraph components
    1.67      checkConcept<BaseDigraphComponent, BaseDigraphComponent >();
    1.68  
    1.69 @@ -51,27 +102,23 @@
    1.70      checkConcept<ExtendableDigraphComponent<>, ListDigraph>();
    1.71      checkConcept<ClearableDigraphComponent<>, ListDigraph>();
    1.72      checkConcept<ErasableDigraphComponent<>, ListDigraph>();
    1.73 -    checkDigraphIterators<ListDigraph>();
    1.74    }
    1.75    { // Checking SmartDigraph
    1.76      checkConcept<Digraph, SmartDigraph>();
    1.77      checkConcept<AlterableDigraphComponent<>, SmartDigraph>();
    1.78      checkConcept<ExtendableDigraphComponent<>, SmartDigraph>();
    1.79      checkConcept<ClearableDigraphComponent<>, SmartDigraph>();
    1.80 -    checkDigraphIterators<SmartDigraph>();
    1.81    }
    1.82  //  { // Checking FullDigraph
    1.83  //    checkConcept<Digraph, FullDigraph>();
    1.84 -//    checkDigraphIterators<FullDigraph>();
    1.85  //  }
    1.86  //  { // Checking HyperCubeDigraph
    1.87  //    checkConcept<Digraph, HyperCubeDigraph>();
    1.88 -//    checkDigraphIterators<HyperCubeDigraph>();
    1.89  //  }
    1.90  }
    1.91  
    1.92  template <typename Digraph>
    1.93 -void check_graph_validity() {
    1.94 +void checkDigraphValidity() {
    1.95    TEMPLATE_DIGRAPH_TYPEDEFS(Digraph);
    1.96    Digraph g;
    1.97  
    1.98 @@ -92,7 +139,7 @@
    1.99  }
   1.100  
   1.101  template <typename Digraph>
   1.102 -void check_graph_validity_erase() {
   1.103 +void checkDigraphValidityErase() {
   1.104    TEMPLATE_DIGRAPH_TYPEDEFS(Digraph);
   1.105    Digraph g;
   1.106  
   1.107 @@ -120,25 +167,19 @@
   1.108    check(!g.valid(g.arcFromId(-1)), "Wrong validity check");
   1.109  }
   1.110  
   1.111 -void check_digraphs() {
   1.112 +void checkDigraphs() {
   1.113    { // Checking ListDigraph
   1.114      checkDigraph<ListDigraph>();
   1.115 -    checkGraphNodeMap<ListDigraph>();
   1.116 -    checkGraphArcMap<ListDigraph>();
   1.117 -
   1.118 -    check_graph_validity_erase<ListDigraph>();
   1.119 +    checkDigraphValidityErase<ListDigraph>();
   1.120    }
   1.121    { // Checking SmartDigraph
   1.122      checkDigraph<SmartDigraph>();
   1.123 -    checkGraphNodeMap<SmartDigraph>();
   1.124 -    checkGraphArcMap<SmartDigraph>();
   1.125 -
   1.126 -    check_graph_validity<SmartDigraph>();
   1.127 +    checkDigraphValidity<SmartDigraph>();
   1.128    }
   1.129  }
   1.130  
   1.131  int main() {
   1.132 -  check_concepts();
   1.133 -  check_digraphs();
   1.134 +  checkDigraphs();
   1.135 +  checkConcepts();
   1.136    return 0;
   1.137  }