x=boost :: target (* out_edges_range.first, graph); _graph (graph, next_vertex, final_vertices, path_accumulator, visits_count_vector, pathes_collection);
+ + out_edges_range.first;
} _accumulator.pop_back ();
-visits_count_vector [vertex_index]; (visits_count_vector [vertex_index]>=0);
}
/*------------------------------------------------------------------------*/read_case(Graph& states_graph, std :: set & final_states)
{_t vertices_count=0; :: cin >> vertices_count; (vertices_count> 0); _t final_vertices_count=0; :: cin >> final_vertices_count; (final_vertices_count> 0); (vertices_count> final_vertices_count); _values_in_set (std :: cin, final_vertices_count, & final_states); :: istream_iterator > cin_edge_it (std :: cin); :: istream_iterator > cin_edge_end; graph (cin_edge_it, cin_edge_end, vertices_count); :: swap (states_graph, graph);
} алгоритм тестування програмне забезпечення
/*------------------------------------------------------------------------*/generate_all_tests(const Graph & states_graph, const std :: set & final_states, std :: list > & tests_collection)
{:: list path_accumulator; :: vector visits_count_vector (boost :: num_vertices (states_graph), 0); _graph (states_graph, boost :: vertex (0, states_graph), final_states, path_accumulator, visits_count_vector, tests_collection);
}
/*------------------------------------------------------------------------*/choose_best_tests(const size_t M, const double P, / / ??<- algorithm parametersGraph & states_graph, size_t states_count, :: list > & tests_collection, :: list > & best_tests)
{_coverage test_coverage (states_graph);
{:: list > :: Iterator tests_it=tests_collection.begin (); :: list > :: Iterator tests_end=tests_collection.end (); std :: list * best_test_ptr=& (tests_collection.front ()); _t best_test_length=best_test_ptr-> size (); _t best_test_coverage=test_coverage.aditional_coverage_for_path (* best_test_ptr); _FOREACH (const std :: list & current_test, tests_collection)
{size_t current_test_coverage=test_coverage.aditional_coverage_for_path (current_test); size_t current_test_length=current_test.size (); ((current_test_length> M) && (best_test_length <= M))
{;
} (((current_test_length <= M) && (best_test_length <= M))
&& (Best_test_coverage> current_test_coverage))
{;
} ((best_test_coverage>=current_test_coverage)
&& (Best_test_length
{;
} ((best_test_coverage> current_test_coverage)
&& (Best_test_length <= current_test_length))
{;
} (double (best_test_length - current_test_length) * P...