I
Hallo,
ich habe eine Boost Test-Suite
BOOST_AUTO_TEST_SUITE( Rearranger_recomb )
void test_rearr(Rev_Tree* tree, string name, map<unsigned, pair<string, double> > p) {
const string TEST_CASE_NAME = "Rearranger_recomb_manual";
Rearranger_Recomb rearr = Rearranger_Recomb(tree);
Dot::dot_output(tree, TEST_CASE_NAME + "\\\" " + " R-1");
rearr.call(tree->nd(name), p);
Dot::dot_output(tree, TEST_CASE_NAME + "\\\" " + " R-2");
tree->LNP();
Dot::dot_output(tree, TEST_CASE_NAME + "\\\" " + " R-3");
tree->reverse_changes();
Dot::dot_output(tree, TEST_CASE_NAME + "\\\" " + " R-4");
rearr.call(tree->nd(name), p);
Dot::dot_output(tree, TEST_CASE_NAME + "\\\" " + " A-1");
tree->LNP();
Dot::dot_output(tree, TEST_CASE_NAME + "\\\" " + " A-2");
tree->accept_changes();
Dot::dot_output(tree, TEST_CASE_NAME + "\\\" " + " A-3");
}
BOOST_FIXTURE_TEST_CASE( Rearranger_recomb_manual_0, Build_Tree_HPs<1 COMMA false> ) {
map<unsigned, pair<string, double> > p = map_list_of(0, make_pair("3", 6))
(1, make_pair("0", 6))
(2, make_pair("0", 6))
(3, make_pair("0", 6));
test_rearr(&tree, "2", p);
}
BOOST_FIXTURE_TEST_CASE( Rearranger_recomb_manual_1, Build_Tree_HPs<2 COMMA true> ) {
map<unsigned, pair<string, double> > p = map_list_of(0, make_pair("3", 3))
(1, make_pair("0", 5))
(2, make_pair("0", 5))
(3, make_pair("0", 5));
test_rearr(&tree, "2", p);
}
... // 18 weitere Test-Cases derselben Form
}
Ich frage mich nun, ob man mittels Template-Programmierung den Code für die 20 Test-Cases irgendwie verkürzen kann. Dabei sollen die 20 Test-Cases allerdings erhalten bleiben und nicht zu einem großen Test-Case zusammengefasst werden.