test/graph_copy_test.cc
changeset 988 d395358592df
parent 463 88ed40ad0d4f
parent 980 bb871cb8ac06
child 989 24b3f18ed9e2
child 1081 f1398882a928
     1.1 --- a/test/graph_copy_test.cc	Fri Jun 25 06:00:56 2010 +0200
     1.2 +++ b/test/graph_copy_test.cc	Fri Jun 25 06:41:55 2010 +0200
     1.3 @@ -29,6 +29,7 @@
     1.4  void digraph_copy_test() {
     1.5    const int nn = 10;
     1.6  
     1.7 +  // Build a digraph
     1.8    SmartDigraph from;
     1.9    SmartDigraph::NodeMap<int> fnm(from);
    1.10    SmartDigraph::ArcMap<int> fam(from);
    1.11 @@ -51,6 +52,7 @@
    1.12      }
    1.13    }
    1.14  
    1.15 +  // Test digraph copy
    1.16    ListDigraph to;
    1.17    ListDigraph::NodeMap<int> tnm(to);
    1.18    ListDigraph::ArcMap<int> tam(to);
    1.19 @@ -68,6 +70,9 @@
    1.20      nodeRef(nr).arcRef(er).
    1.21      nodeCrossRef(ncr).arcCrossRef(ecr).
    1.22      node(fn, tn).arc(fa, ta).run();
    1.23 +  
    1.24 +  check(countNodes(from) == countNodes(to), "Wrong copy.");
    1.25 +  check(countArcs(from) == countArcs(to), "Wrong copy.");
    1.26  
    1.27    for (SmartDigraph::NodeIt it(from); it != INVALID; ++it) {
    1.28      check(ncr[nr[it]] == it, "Wrong copy.");
    1.29 @@ -90,11 +95,18 @@
    1.30    }
    1.31    check(tn == nr[fn], "Wrong copy.");
    1.32    check(ta == er[fa], "Wrong copy.");
    1.33 +
    1.34 +  // Test repeated copy
    1.35 +  digraphCopy(from, to).run();
    1.36 +  
    1.37 +  check(countNodes(from) == countNodes(to), "Wrong copy.");
    1.38 +  check(countArcs(from) == countArcs(to), "Wrong copy.");
    1.39  }
    1.40  
    1.41  void graph_copy_test() {
    1.42    const int nn = 10;
    1.43  
    1.44 +  // Build a graph
    1.45    SmartGraph from;
    1.46    SmartGraph::NodeMap<int> fnm(from);
    1.47    SmartGraph::ArcMap<int> fam(from);
    1.48 @@ -122,6 +134,7 @@
    1.49      }
    1.50    }
    1.51  
    1.52 +  // Test graph copy
    1.53    ListGraph to;
    1.54    ListGraph::NodeMap<int> tnm(to);
    1.55    ListGraph::ArcMap<int> tam(to);
    1.56 @@ -144,6 +157,10 @@
    1.57      nodeCrossRef(ncr).arcCrossRef(acr).edgeCrossRef(ecr).
    1.58      node(fn, tn).arc(fa, ta).edge(fe, te).run();
    1.59  
    1.60 +  check(countNodes(from) == countNodes(to), "Wrong copy.");
    1.61 +  check(countEdges(from) == countEdges(to), "Wrong copy.");
    1.62 +  check(countArcs(from) == countArcs(to), "Wrong copy.");
    1.63 +
    1.64    for (SmartGraph::NodeIt it(from); it != INVALID; ++it) {
    1.65      check(ncr[nr[it]] == it, "Wrong copy.");
    1.66      check(fnm[it] == tnm[nr[it]], "Wrong copy.");
    1.67 @@ -180,6 +197,13 @@
    1.68    check(tn == nr[fn], "Wrong copy.");
    1.69    check(ta == ar[fa], "Wrong copy.");
    1.70    check(te == er[fe], "Wrong copy.");
    1.71 +
    1.72 +  // Test repeated copy
    1.73 +  graphCopy(from, to).run();
    1.74 +  
    1.75 +  check(countNodes(from) == countNodes(to), "Wrong copy.");
    1.76 +  check(countEdges(from) == countEdges(to), "Wrong copy.");
    1.77 +  check(countArcs(from) == countArcs(to), "Wrong copy.");
    1.78  }
    1.79  
    1.80