Esempio n. 1
0
 def test_node_add_then_get_children(self):
     n = Node()
     left = Node()
     right = Node()
     n.add_child(left)
     n.add_child(right)
     self.assertEqual(set(n.children.values()), set([left, right]))
Esempio n. 2
0
 def test_node_add_multiple_children_then_delete_one(self):
     n = Node()
     left = Node("left")
     right = Node("right")
     n.add_child(left)
     n.add_child(right)
     n.remove_child("left")
     self.assertEqual(n.children, dict(right=right))
Esempio n. 3
0
 def test_tree_print_with_several_children(self):
     root = Node(name="first_level")
     t = Tree(root=root, name="root")
     left = Node(name="second_level_one")
     right = Node(name="second_level_two")
     t.root.add_child(left)
     t.root.add_child(right)
     left.add_child(Node("third_level_one"))
     left.add_child(Node("third_level_two"))
     left.add_child(Node("third_level_three"))
     expected = "<Tree 'root'>\n<Node first_level>\n\t<Node second_level_one>\n\t\t"
     expected += "<Node third_level_one>\n\t\t<Node third_level_two>\n\t\t<Node third_level_three>"  # ...
     expected += "\n\t<Node second_level_two>"  # ...
     self.assertEqual(str(t), expected)
Esempio n. 4
0
 def test_node_add_then_delete_one_child(self):
     n = Node()
     left = Node("left")
     n.add_child(left)
     n.remove_child("left")
     self.assertEqual(n.children, dict())
Esempio n. 5
0
 def test_node_add_child_sets_child_parent(self):
     n = Node(data=1)
     left = Node(name="left", data=2)
     n.add_child(left)
     self.assertIsNotNone(n.children["left"].parent)
     self.assertEqual(n.children["left"].parent.data, 1)
Esempio n. 6
0
 def test_node_add_then_get_one_child(self):
     n = Node()
     left = Node("left")
     n.add_child(left)
     self.assertEqual(n.children["left"], left)