Beispiel #1
0
    def testLoop(self):

        # No Loops

        input1 = Tree(children=TreeTest.tree_layout)
        input2 = Tree(children=TreeTest.tree_layout_2)
        input3 = Tree(children=TreeTest.tree_layout_3)

        self.assertFalse(input1.has_loop())
        self.assertFalse(input2.has_loop())
        self.assertFalse(input3.has_loop())

        input1.append(input2)

        self.assertFalse(input1.has_loop())

        # Loops

        input2.append(input1)
        input1.append(input2)

        self.assertTrue(input1.has_loop())

        input4 = Tree(children=TreeTest.tree_layout)
        input5 = Tree(children=TreeTest.tree_layout_2)
        input6 = Tree(children=TreeTest.tree_layout_3)

        input6.append(input4)
        input4.append(input5)
        input5.append(input6)

        self.assertTrue(input4.has_loop())
        self.assertTrue(input5.has_loop())
        self.assertTrue(input6.has_loop())