... | ... |
@@ -206,7 +206,9 @@ |
206 | 206 |
run(); |
207 | 207 |
|
208 |
// |
|
208 |
// Check run() |
|
209 | 209 |
{ |
210 | 210 |
Suurballe<ListDigraph> suurballe(digraph, length); |
211 |
|
|
212 |
// Find 2 paths |
|
211 | 213 |
check(suurballe.run(s, t) == 2, "Wrong number of paths"); |
212 | 214 |
check(checkFlow(digraph, suurballe.flowMap(), s, t, 2), |
... | ... |
@@ -218,9 +220,6 @@ |
218 | 220 |
for (int i = 0; i < suurballe.pathNum(); ++i) |
219 | 221 |
check(checkPath(digraph, suurballe.path(i), s, t), "Wrong path"); |
220 |
} |
|
221 |
|
|
222 |
// Find 3 paths |
|
223 |
{ |
|
224 |
|
|
222 |
|
|
223 |
// Find 3 paths |
|
225 | 224 |
check(suurballe.run(s, t, 3) == 3, "Wrong number of paths"); |
226 | 225 |
check(checkFlow(digraph, suurballe.flowMap(), s, t, 3), |
... | ... |
@@ -232,9 +231,6 @@ |
232 | 231 |
for (int i = 0; i < suurballe.pathNum(); ++i) |
233 | 232 |
check(checkPath(digraph, suurballe.path(i), s, t), "Wrong path"); |
234 |
} |
|
235 |
|
|
236 |
// Find 5 paths (only 3 can be found) |
|
237 |
{ |
|
238 |
|
|
233 |
|
|
234 |
// Find 5 paths (only 3 can be found) |
|
239 | 235 |
check(suurballe.run(s, t, 5) == 3, "Wrong number of paths"); |
240 | 236 |
check(checkFlow(digraph, suurballe.flowMap(), s, t, 3), |
... | ... |
@@ -247,4 +243,22 @@ |
247 | 243 |
check(checkPath(digraph, suurballe.path(i), s, t), "Wrong path"); |
248 | 244 |
} |
245 |
|
|
246 |
// Check fullInit() + start() |
|
247 |
{ |
|
248 |
Suurballe<ListDigraph> suurballe(digraph, length); |
|
249 |
suurballe.fullInit(s); |
|
250 |
|
|
251 |
// Find 2 paths |
|
252 |
check(suurballe.start(t) == 2, "Wrong number of paths"); |
|
253 |
check(suurballe.totalLength() == 510, "The flow is not optimal"); |
|
254 |
|
|
255 |
// Find 3 paths |
|
256 |
check(suurballe.start(t, 3) == 3, "Wrong number of paths"); |
|
257 |
check(suurballe.totalLength() == 1040, "The flow is not optimal"); |
|
258 |
|
|
259 |
// Find 5 paths (only 3 can be found) |
|
260 |
check(suurballe.start(t, 5) == 3, "Wrong number of paths"); |
|
261 |
check(suurballe.totalLength() == 1040, "The flow is not optimal"); |
|
262 |
} |
|
249 | 263 |
|
250 | 264 |
return 0; |
0 comments (0 inline)