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 }