Exemplo n.º 1
0
 def test_delete_root_node(self):
     tree = Tree()
     tree.add_child(5)
     tree.add_child(4)
     tree.add_child(6)
     tree.delete(5)
     self.assertEqual(tree.display_preorder(), [6, 4])
     self.assertEqual(tree.display_inorder(), [4, 6])
Exemplo n.º 2
0
 def test_delete_not_in_the_tree(self):
     tree = Tree()
     tree.add_child(5)
     tree.add_child(2)
     tree.add_child(7)
     self.assertEqual(tree.display_preorder(), [5, 2, 7])
     tree.delete(6)
     self.assertEqual(tree.display_preorder(), [5, 2, 7])
Exemplo n.º 3
0
 def test_display_postorder(self):
     tree = Tree()
     tree.add_child(5)
     tree.add_child(2)
     tree.add_child(1)
     tree.add_child(4)
     tree.add_child(7)
     tree.add_child(9)
     tree.add_child(6)
     tree.add_child(0)
     tree.add_child(8)
     tree.add_child(3)
     self.assertEqual(tree.display_postorder(),
                      [5, 7, 9, 8, 6, 2, 4, 3, 1, 0])
Exemplo n.º 4
0
 def test_display_inorder(self):
     tree = Tree()
     tree.add_child(5)
     tree.add_child(2)
     tree.add_child(1)
     tree.add_child(4)
     tree.add_child(7)
     tree.add_child(9)
     tree.add_child(6)
     tree.add_child(0)
     tree.add_child(8)
     tree.add_child(3)
     self.assertEqual(tree.display_inorder(),
                      [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
Exemplo n.º 5
0
 def test_delete_node_with_children(self):
     tree = Tree()
     tree.add_child(5)
     tree.add_child(1)
     tree.add_child(4)
     tree.add_child(7)
     tree.add_child(9)
     tree.add_child(6)
     tree.add_child(8)
     self.assertEqual(tree.display_preorder(), [5, 1, 4, 7, 6, 9, 8])
     tree.delete(7)
     self.assertEqual(tree.display_preorder(), [5, 1, 4, 8, 6, 9])
     tree.delete(8)
     self.assertEqual(tree.display_preorder(), [5, 1, 4, 9, 6])
Exemplo n.º 6
0
 def test_get_parent(self):
     tree = Tree()
     tree.add_child(5)
     tree.add_child(1)
     tree.add_child(4)
     tree.add_child(7)
     tree.add_child(9)
     tree.add_child(6)
     self.assertEqual(tree.get_parent(7), 5)
Exemplo n.º 7
0
 def test_delete_node_without_child(self):
     tree = Tree()
     tree.add_child(5)
     tree.add_child(1)
     tree.add_child(4)
     tree.add_child(7)
     tree.add_child(9)
     tree.add_child(6)
     tree.add_child(8)
     self.assertEqual(tree.display_preorder(), [5, 1, 4, 7, 6, 9, 8])
     self.assertEqual(tree.display_inorder(), [1, 4, 5, 6, 7, 8, 9])
     tree.delete(4)
     self.assertEqual(tree.display_preorder(), [5, 1, 7, 6, 9, 8])
     self.assertEqual(tree.display_inorder(), [1, 5, 6, 7, 8, 9])
     tree.delete(8)
     self.assertEqual(tree.display_preorder(), [5, 1, 7, 6, 9])
     self.assertEqual(tree.display_inorder(), [1, 5, 6, 7, 9])
Exemplo n.º 8
0
 def test_find_not_in_tree(self):
     tree = Tree()
     tree.add_child(5)
     tree.add_child(1)
     tree.add_child(4)
     tree.add_child(7)
     tree.add_child(9)
     tree.add_child(6)
     self.assertEqual(tree.find(8), False)
     self.assertEqual(tree.find(2), False)
Exemplo n.º 9
0
 def test_find_in_tree(self):
     tree = Tree()
     tree.add_child(5)
     tree.add_child(1)
     tree.add_child(4)
     tree.add_child(7)
     tree.add_child(9)
     tree.add_child(6)
     self.assertEqual(tree.find(4), True)
     self.assertEqual(tree.find(6), True)
Exemplo n.º 10
0
 def test_add_child(self):
     tree = Tree("Electronics")
     tree.add_child("laptop")
     tree.add_child("cellphone")
     tree.add_child("tv")
     self.assertIsNotNone(tree.children)
Exemplo n.º 11
0
 def test_tree_add_child_already_in_tree(self):
     tree = Tree()
     tree.add_child(5)
     tree.add_child(2)
     tree.add_child(4)
     self.assertEqual(tree.add_child(2), False)
Exemplo n.º 12
0
 def test_tree_add_children(self):
     tree = Tree()
     tree.add_child(5)
     tree.add_child(2)
     tree.add_child(4)
     self.assertEqual(tree.display_preorder()[1:], [2, 4])
Exemplo n.º 13
0
 def test_add_child(self):
     tree = Tree()
     tree.add_child(5)
     self.assertEqual(tree.add_child(2), True)
Exemplo n.º 14
0
 def test_tree_root(self):
     tree = Tree()
     tree.add_child(5)
     self.assertEqual(tree.root.value, 5)