diff -r 9a6c9d4ee77b -r bc726f4892c7 test/min_mean_cycle_test.cc --- a/test/min_mean_cycle_test.cc Wed Nov 28 12:08:47 2012 +0100 +++ b/test/min_mean_cycle_test.cc Fri Feb 22 14:12:48 2013 +0100 @@ -110,7 +110,7 @@ const SmartDigraph::ArcMap& cm, int cost, int size) { MMC alg(gr, lm); - alg.findCycleMean(); + check(alg.findCycleMean(), "Wrong result"); check(alg.cycleMean() == static_cast(cost) / size, "Wrong cycle mean"); alg.findCycle(); @@ -210,6 +210,13 @@ checkMmcAlg >(gr, l2, c2, 5, 2); checkMmcAlg >(gr, l3, c3, 0, 1); checkMmcAlg >(gr, l4, c4, -1, 1); + + // Howard with iteration limit + HowardMmc mmc(gr, l1); + check((mmc.findCycleMean(2) == HowardMmc::ITERATION_LIMIT), + "Wrong termination cause"); + check((mmc.findCycleMean(4) == HowardMmc::OPTIMAL), + "Wrong termination cause"); } return 0;