| ... |
... |
@@ -29,6 +29,7 @@
|
| 29 |
29 |
void digraph_copy_test() {
|
| 30 |
30 |
const int nn = 10;
|
| 31 |
31 |
|
|
32 |
// Build a digraph
|
| 32 |
33 |
SmartDigraph from;
|
| 33 |
34 |
SmartDigraph::NodeMap<int> fnm(from);
|
| 34 |
35 |
SmartDigraph::ArcMap<int> fam(from);
|
| ... |
... |
@@ -51,6 +52,7 @@
|
| 51 |
52 |
}
|
| 52 |
53 |
}
|
| 53 |
54 |
|
|
55 |
// Test digraph copy
|
| 54 |
56 |
ListDigraph to;
|
| 55 |
57 |
ListDigraph::NodeMap<int> tnm(to);
|
| 56 |
58 |
ListDigraph::ArcMap<int> tam(to);
|
| ... |
... |
@@ -69,6 +71,9 @@
|
| 69 |
71 |
nodeCrossRef(ncr).arcCrossRef(ecr).
|
| 70 |
72 |
node(fn, tn).arc(fa, ta).run();
|
| 71 |
73 |
|
|
74 |
check(countNodes(from) == countNodes(to), "Wrong copy.");
|
|
75 |
check(countArcs(from) == countArcs(to), "Wrong copy.");
|
|
76 |
|
| 72 |
77 |
for (SmartDigraph::NodeIt it(from); it != INVALID; ++it) {
|
| 73 |
78 |
check(ncr[nr[it]] == it, "Wrong copy.");
|
| 74 |
79 |
check(fnm[it] == tnm[nr[it]], "Wrong copy.");
|
| ... |
... |
@@ -90,11 +95,18 @@
|
| 90 |
95 |
}
|
| 91 |
96 |
check(tn == nr[fn], "Wrong copy.");
|
| 92 |
97 |
check(ta == er[fa], "Wrong copy.");
|
|
98 |
|
|
99 |
// Test repeated copy
|
|
100 |
digraphCopy(from, to).run();
|
|
101 |
|
|
102 |
check(countNodes(from) == countNodes(to), "Wrong copy.");
|
|
103 |
check(countArcs(from) == countArcs(to), "Wrong copy.");
|
| 93 |
104 |
}
|
| 94 |
105 |
|
| 95 |
106 |
void graph_copy_test() {
|
| 96 |
107 |
const int nn = 10;
|
| 97 |
108 |
|
|
109 |
// Build a graph
|
| 98 |
110 |
SmartGraph from;
|
| 99 |
111 |
SmartGraph::NodeMap<int> fnm(from);
|
| 100 |
112 |
SmartGraph::ArcMap<int> fam(from);
|
| ... |
... |
@@ -122,6 +134,7 @@
|
| 122 |
134 |
}
|
| 123 |
135 |
}
|
| 124 |
136 |
|
|
137 |
// Test graph copy
|
| 125 |
138 |
ListGraph to;
|
| 126 |
139 |
ListGraph::NodeMap<int> tnm(to);
|
| 127 |
140 |
ListGraph::ArcMap<int> tam(to);
|
| ... |
... |
@@ -144,6 +157,10 @@
|
| 144 |
157 |
nodeCrossRef(ncr).arcCrossRef(acr).edgeCrossRef(ecr).
|
| 145 |
158 |
node(fn, tn).arc(fa, ta).edge(fe, te).run();
|
| 146 |
159 |
|
|
160 |
check(countNodes(from) == countNodes(to), "Wrong copy.");
|
|
161 |
check(countEdges(from) == countEdges(to), "Wrong copy.");
|
|
162 |
check(countArcs(from) == countArcs(to), "Wrong copy.");
|
|
163 |
|
| 147 |
164 |
for (SmartGraph::NodeIt it(from); it != INVALID; ++it) {
|
| 148 |
165 |
check(ncr[nr[it]] == it, "Wrong copy.");
|
| 149 |
166 |
check(fnm[it] == tnm[nr[it]], "Wrong copy.");
|
| ... |
... |
@@ -180,6 +197,13 @@
|
| 180 |
197 |
check(tn == nr[fn], "Wrong copy.");
|
| 181 |
198 |
check(ta == ar[fa], "Wrong copy.");
|
| 182 |
199 |
check(te == er[fe], "Wrong copy.");
|
|
200 |
|
|
201 |
// Test repeated copy
|
|
202 |
graphCopy(from, to).run();
|
|
203 |
|
|
204 |
check(countNodes(from) == countNodes(to), "Wrong copy.");
|
|
205 |
check(countEdges(from) == countEdges(to), "Wrong copy.");
|
|
206 |
check(countArcs(from) == countArcs(to), "Wrong copy.");
|
| 183 |
207 |
}
|
| 184 |
208 |
|
| 185 |
209 |
|