< double (best_test_coverage - current_test_coverage))
{;
} _test_ptr=& current_test; _test_length=current_test_length; _test_coverage=current_test_coverage;
}_tests.push_back(*best_test_ptr);_coverage.add_coverage_for_path(*best_test_ptr);
} (! test_coverage.fully_covered () &&! tests_collection.empty ());
}
/ * ------------------------------------------------------------------------ * /
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /// / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
/ * Формат вибрати номер:
<Кількість вершин>
<Кількість кінцевих вершин> <Кінцева вершина> [<Кінцева вершина> ...]
<Вхідна вершина ребра 1> <Вихідна вершина ребра 1>
<Вхідна вершина ребра 2> <Вихідна вершина ребра 2>
...
<Вхідна вершина ребра n> <Вихідна вершина ребра n>
* / main (const int argc, const char * argv [])
{_t M=0; P=0; (argc!=3)
{:: cout << «Usage:» << argv [0] << « » << std :: endl; 0;
}
{= boost :: lexical_cast (argv [1]);=boost :: lexical_cast (argv [2]);
} states_graph; :: set final_states; _case (states_graph, final_states); :: list > tests_collection; _all_tests (states_graph, final_states, tests_collection); :: list > best_tests; _best_tests (M, P, states_graph, boost :: num_vertices (states_graph), tests_collection, best_tests); :: cout << «Best tests:» << std :: endl; _FOREACH (const std :: list & test, best_tests)
{_test (test, std :: cout);
} 0;
}
/ * ------------------------------------------------------------------------ * /