def test_add(self): """ Test creating node trees. """ tree = Tree() n1 = 'n1' n2 = 'n2' n3 = 'n3' tree.add(n1) assert len(tree._nodes) == 1 assert len(tree._children) == 2 assert len(tree._children[None]) == 1 assert len(tree._children[n1]) == 0 tree.add(n2) tree.add(n3, parent=n1) assert len(tree._nodes) == 3 assert len(tree._children) == 4 assert len(tree._children[None]) == 2 assert len(tree._children[n1]) == 1 assert len(tree._children[n2]) == 0 assert len(tree._children[n2]) == 0 assert tree._nodes == [n1, n3, n2] n4 = 'n4' tree.add(n4, parent=n3) assert tree._nodes == [n1, n3, n4, n2] n5 = 'n5' tree.add(n5, parent=n3) assert tree._nodes == [n1, n3, n4, n5, n2] n6 = 'n6' tree.add(n6, parent=n2) assert tree._nodes == [n1, n3, n4, n5, n2, n6] n7 = 'n7' tree.add(n7, parent=n1) assert len(tree._children) == 8 assert tree._nodes == [n1, n3, n4, n5, n7, n2, n6] assert tree.get_parent(n7) is n1 assert tree.get_parent(n6) is n2 assert tree.get_parent(n5) is n3 assert tree.get_parent(n4) is n3 assert tree.get_parent(n3) is n1 assert tree.get_parent(n2) is None assert tree.get_parent(n1) is None