Example #1
0
    def test_reparent(self):
        tree = Tree()
        n1 = 'n1'
        n2 = 'n2'
        n3 = 'n3'
        n4 = 'n4'
        n5 = 'n5'

        tree.add(n1)
        tree.add(n2)
        tree.add(n3)
        tree.add(n4, parent=n2)
        tree.add(n5, parent=n4)

        assert tree.nodes == [n1, n2, n4, n5, n3], tree.nodes

        tree.reparent(n4, parent=n1, index=0)
        assert tree.nodes == [n1, n4, n5, n2, n3], tree.nodes
        assert tree.get_children(n2) == [], tree.get_children(n2)
        assert tree.get_children(n1) == [n4], tree.get_children(n1)
        assert tree.get_children(n4) == [n5], tree.get_children(n4)

        tree.reparent(n4, parent=None, index=0)
        assert tree.nodes == [n4, n5, n1, n2, n3], tree.nodes