diff --git a/alib2data/test-src/tree/TreeTest.cpp b/alib2data/test-src/tree/TreeTest.cpp index bc7b2d94bac5f6ad940f8871f7cf4043fa317ea7..812d23375f0976f34e64da5ed4dad753b27d1fac 100644 --- a/alib2data/test-src/tree/TreeTest.cpp +++ b/alib2data/test-src/tree/TreeTest.cpp @@ -51,14 +51,10 @@ void TreeTest::testRankedTreeParser() { const std::set<alphabet::RankedSymbol> alphabet {a, b, c}; - std::vector<tree::RankedNode *> children3 (0); - tree::RankedNode * node3 = new tree::RankedNode(c, children3); - std::vector<tree::RankedNode *> children4 (0); - tree::RankedNode * node4 = new tree::RankedNode(c, children4); - std::vector<tree::RankedNode *> children2 {node3}; - tree::RankedNode * node2 = new tree::RankedNode(b, children2); - std::vector<tree::RankedNode *> children1 {node2, node4}; - tree::RankedNode * node1 = new tree::RankedNode(a, children1); + tree::RankedNode * node3 = new tree::RankedNode(c, {}); + tree::RankedNode * node4 = new tree::RankedNode(c, {}); + tree::RankedNode * node2 = new tree::RankedNode(b, {node3}); + tree::RankedNode * node1 = new tree::RankedNode(a, {node2, node4}); tree::RankedTree tree(alphabet, std::move(*node1)); @@ -114,23 +110,15 @@ void TreeTest::testRankedTreeCompare() { const std::set<alphabet::RankedSymbol> alphabet {a, b, c}; - std::vector<tree::RankedNode *> children3 (0); - tree::RankedNode * node3 = new tree::RankedNode(c, children3); - std::vector<tree::RankedNode *> children4 (0); - tree::RankedNode * node4 = new tree::RankedNode(c, children4); - std::vector<tree::RankedNode *> children2 {node3}; - tree::RankedNode * node2 = new tree::RankedNode(b, children2); - std::vector<tree::RankedNode *> children1 {node2, node4}; - tree::RankedNode * node1 = new tree::RankedNode(a, children1); - - std::vector<tree::RankedNode *> children6 (0); - tree::RankedNode * node6 = new tree::RankedNode(c, children6); - std::vector<tree::RankedNode *> children8 (0); - tree::RankedNode * node8 = new tree::RankedNode(c, children8); - std::vector<tree::RankedNode *> children7 {node8}; - tree::RankedNode * node7 = new tree::RankedNode(b, children7); - std::vector<tree::RankedNode *> children5 {node6, node7}; - tree::RankedNode * node5 = new tree::RankedNode(a, children5); + tree::RankedNode * node3 = new tree::RankedNode(c, {}); + tree::RankedNode * node4 = new tree::RankedNode(c, {}); + tree::RankedNode * node2 = new tree::RankedNode(b, {node3}); + tree::RankedNode * node1 = new tree::RankedNode(a, {node2, node4}); + + tree::RankedNode * node6 = new tree::RankedNode(c, {}); + tree::RankedNode * node8 = new tree::RankedNode(c, {}); + tree::RankedNode * node7 = new tree::RankedNode(b, {node8}); + tree::RankedNode * node5 = new tree::RankedNode(a, {node6, node7}); tree::RankedTree tree1(alphabet, std::move(*node1)); tree::RankedTree tree2(alphabet, std::move(*node5)); @@ -150,33 +138,27 @@ void TreeTest::testRankedTreeSymbolValidityCheck() { const std::set<alphabet::RankedSymbol> alphabet {a, b, c, e}; - std::vector<tree::RankedNode *> children3 (0); - tree::RankedNode * node3 = new tree::RankedNode(d, children3); - std::vector<tree::RankedNode *> children4 (0); - tree::RankedNode * node4 = new tree::RankedNode(c, children4); - std::vector<tree::RankedNode *> children2 {node3}; - tree::RankedNode * node2 = new tree::RankedNode(b, children2); - std::vector<tree::RankedNode *> children1 {node2, node4}; - tree::RankedNode * node1 = new tree::RankedNode(a, children1); + tree::RankedNode * node3 = new tree::RankedNode(d, {}); + tree::RankedNode * node4 = new tree::RankedNode(c, {}); + tree::RankedNode * node2 = new tree::RankedNode(b, {node3}); + tree::RankedNode * node1 = new tree::RankedNode(a, {node2, node4}); CPPUNIT_ASSERT_THROW(tree::RankedTree tree1(alphabet, *node1), exception::AlibException); - std::vector<tree::RankedNode *> children6 (0); - tree::RankedNode * node6 = new tree::RankedNode(e, children6); - std::vector<tree::RankedNode *> children8 (0); - tree::RankedNode * node8 = new tree::RankedNode(c, children8); - std::vector<tree::RankedNode *> children7 {node8}; - tree::RankedNode * node7 = new tree::RankedNode(b, children7); - std::vector<tree::RankedNode *> children5 {node6, node7}; - tree::RankedNode * node5 = new tree::RankedNode(a, children5); + tree::RankedNode * node6 = new tree::RankedNode(e, {}); + tree::RankedNode * node8 = new tree::RankedNode(c, {}); + tree::RankedNode * node7 = new tree::RankedNode(b, {node8}); + tree::RankedNode * node5 = new tree::RankedNode(a, {node6, node7}); tree::RankedTree * tree = NULL; CPPUNIT_ASSERT_NO_THROW(tree = new tree::RankedTree(alphabet, std::move(*node5))); + CPPUNIT_ASSERT_NO_THROW(tree -> getRoot().getChildren()[0] -> setSymbol(c)); CPPUNIT_ASSERT_THROW(tree -> getRoot().getChildren()[1] -> setSymbol(d), exception::AlibException); CPPUNIT_ASSERT_THROW(tree -> getRoot().getChildren()[0] -> setSymbol(a), exception::AlibException); CPPUNIT_ASSERT_THROW(tree -> removeSymbolFromAlphabet(a), exception::AlibException); CPPUNIT_ASSERT(tree -> removeSymbolFromAlphabet(e)); + delete tree; } @@ -224,7 +206,6 @@ void TreeTest::testRankedTreeSubtreeSwitch() { CPPUNIT_ASSERT(tree3 < tree2Copy); CPPUNIT_ASSERT(tree4 == tree1Copy); - } void TreeTest::testUnrankedTreeParser() { @@ -245,14 +226,10 @@ void TreeTest::testUnrankedTreeParser() { const std::set<alphabet::LabeledSymbol> alphabet {a, b, c}; - std::vector<tree::UnrankedNode *> children3; - tree::UnrankedNode * node3 = new tree::UnrankedNode(c, children3); - std::vector<tree::UnrankedNode *> children4; - tree::UnrankedNode * node4 = new tree::UnrankedNode(c, children4); - std::vector<tree::UnrankedNode *> children2 {node3}; - tree::UnrankedNode * node2 = new tree::UnrankedNode(b, children2); - std::vector<tree::UnrankedNode *> children1 {node2, node4}; - tree::UnrankedNode * node1 = new tree::UnrankedNode(a, children1); + tree::UnrankedNode * node3 = new tree::UnrankedNode(c, {}); + tree::UnrankedNode * node4 = new tree::UnrankedNode(c, {}); + tree::UnrankedNode * node2 = new tree::UnrankedNode(b, {node3}); + tree::UnrankedNode * node1 = new tree::UnrankedNode(a, {node2, node4}); tree::UnrankedTree tree(alphabet, std::move(*node1)); @@ -300,23 +277,15 @@ void TreeTest::testUnrankedTreeCompare() { const std::set<alphabet::LabeledSymbol> alphabet {a, b, c}; - std::vector<tree::UnrankedNode *> children3; - tree::UnrankedNode * node3 = new tree::UnrankedNode(c, children3); - std::vector<tree::UnrankedNode *> children4; - tree::UnrankedNode * node4 = new tree::UnrankedNode(c, children4); - std::vector<tree::UnrankedNode *> children2 {node3}; - tree::UnrankedNode * node2 = new tree::UnrankedNode(b, children2); - std::vector<tree::UnrankedNode *> children1 {node2, node4}; - tree::UnrankedNode * node1 = new tree::UnrankedNode(a, children1); - - std::vector<tree::UnrankedNode *> children6; - tree::UnrankedNode * node6 = new tree::UnrankedNode(c, children6); - std::vector<tree::UnrankedNode *> children8; - tree::UnrankedNode * node8 = new tree::UnrankedNode(c, children8); - std::vector<tree::UnrankedNode *> children7 {node8}; - tree::UnrankedNode * node7 = new tree::UnrankedNode(b, children7); - std::vector<tree::UnrankedNode *> children5 {node6, node7}; - tree::UnrankedNode * node5 = new tree::UnrankedNode(a, children5); + tree::UnrankedNode * node3 = new tree::UnrankedNode(c, {}); + tree::UnrankedNode * node4 = new tree::UnrankedNode(c, {}); + tree::UnrankedNode * node2 = new tree::UnrankedNode(b, {node3}); + tree::UnrankedNode * node1 = new tree::UnrankedNode(a, {node2, node4}); + + tree::UnrankedNode * node6 = new tree::UnrankedNode(c, {}); + tree::UnrankedNode * node8 = new tree::UnrankedNode(c, {}); + tree::UnrankedNode * node7 = new tree::UnrankedNode(b, {node8}); + tree::UnrankedNode * node5 = new tree::UnrankedNode(a, {node6, node7}); tree::UnrankedTree tree1(alphabet, std::move(*node1)); tree::UnrankedTree tree2(alphabet, std::move(*node5)); @@ -336,28 +305,21 @@ void TreeTest::testUnrankedTreeSymbolValidityCheck() { const std::set<alphabet::LabeledSymbol> alphabet {a, b, c, e}; - std::vector<tree::UnrankedNode *> children3 (0); - tree::UnrankedNode * node3 = new tree::UnrankedNode(d, children3); - std::vector<tree::UnrankedNode *> children4 (0); - tree::UnrankedNode * node4 = new tree::UnrankedNode(c, children4); - std::vector<tree::UnrankedNode *> children2 {node3}; - tree::UnrankedNode * node2 = new tree::UnrankedNode(b, children2); - std::vector<tree::UnrankedNode *> children1 {node2, node4}; - tree::UnrankedNode * node1 = new tree::UnrankedNode(a, children1); + tree::UnrankedNode * node3 = new tree::UnrankedNode(d, {}); + tree::UnrankedNode * node4 = new tree::UnrankedNode(c, {}); + tree::UnrankedNode * node2 = new tree::UnrankedNode(b, {node3}); + tree::UnrankedNode * node1 = new tree::UnrankedNode(a, {node2, node4}); CPPUNIT_ASSERT_THROW(tree::UnrankedTree tree1(alphabet, *node1), exception::AlibException); - std::vector<tree::UnrankedNode *> children6 (0); - tree::UnrankedNode * node6 = new tree::UnrankedNode(e, children6); - std::vector<tree::UnrankedNode *> children8 (0); - tree::UnrankedNode * node8 = new tree::UnrankedNode(c, children8); - std::vector<tree::UnrankedNode *> children7 {node8}; - tree::UnrankedNode * node7 = new tree::UnrankedNode(b, children7); - std::vector<tree::UnrankedNode *> children5 {node6, node7}; - tree::UnrankedNode * node5 = new tree::UnrankedNode(a, children5); + tree::UnrankedNode * node6 = new tree::UnrankedNode(e, {}); + tree::UnrankedNode * node8 = new tree::UnrankedNode(c, {}); + tree::UnrankedNode * node7 = new tree::UnrankedNode(b, {node8}); + tree::UnrankedNode * node5 = new tree::UnrankedNode(a, {node6, node7}); tree::UnrankedTree * tree = NULL; CPPUNIT_ASSERT_NO_THROW(tree = new tree::UnrankedTree(alphabet, std::move(*node5))); + CPPUNIT_ASSERT_NO_THROW((*tree -> getRoot().getChildren().begin()) -> setSymbol(c)); CPPUNIT_ASSERT_THROW((*tree -> getRoot().getChildren().begin()) -> setSymbol(d), exception::AlibException); CPPUNIT_ASSERT_NO_THROW((*(++tree -> getRoot().getChildren().begin())) -> setSymbol(a)); @@ -375,23 +337,15 @@ void TreeTest::testUnrankedTreeSubtreeSwitch() { const std::set<alphabet::LabeledSymbol> alphabet1 {a, b, c, d}; const std::set<alphabet::LabeledSymbol> alphabet2 {a, b, c, d}; - std::vector<tree::UnrankedNode *> children3; - tree::UnrankedNode * node3 = new tree::UnrankedNode(c, children3); - std::vector<tree::UnrankedNode *> children4; - tree::UnrankedNode * node4 = new tree::UnrankedNode(c, children4); - std::vector<tree::UnrankedNode *> children2 {node3}; - tree::UnrankedNode * node2 = new tree::UnrankedNode(b, children2); - std::vector<tree::UnrankedNode *> children1 {node2, node4}; - tree::UnrankedNode * node1 = new tree::UnrankedNode(a, children1); - - std::vector<tree::UnrankedNode *> children6; - tree::UnrankedNode * node6 = new tree::UnrankedNode(d, children6); - std::vector<tree::UnrankedNode *> children8; - tree::UnrankedNode * node8 = new tree::UnrankedNode(c, children8); - std::vector<tree::UnrankedNode *> children7 {node8}; - tree::UnrankedNode * node7 = new tree::UnrankedNode(b, children7); - std::vector<tree::UnrankedNode *> children5 {node6, node7}; - tree::UnrankedNode * node5 = new tree::UnrankedNode(a, children5); + tree::UnrankedNode * node3 = new tree::UnrankedNode(c, {}); + tree::UnrankedNode * node4 = new tree::UnrankedNode(c, {}); + tree::UnrankedNode * node2 = new tree::UnrankedNode(b, {node3}); + tree::UnrankedNode * node1 = new tree::UnrankedNode(a, {node2, node4}); + + tree::UnrankedNode * node6 = new tree::UnrankedNode(d, {}); + tree::UnrankedNode * node8 = new tree::UnrankedNode(c, {}); + tree::UnrankedNode * node7 = new tree::UnrankedNode(b, {node8}); + tree::UnrankedNode * node5 = new tree::UnrankedNode(a, {node6, node7}); tree::UnrankedTree tree1(alphabet1, std::move(*node1)); tree::UnrankedTree tree1Copy (tree1);