class TestTreeMethods(unittest.TestCase): def setUp(self): self.tree = Tree() # Values from the task self.tree.add_value(5) self.tree.add_value(3) self.tree.add_value(2) self.tree.add_value(5) self.tree.add_value(7) self.tree.add_value(1) self.tree.add_value(0) self.tree.add_value(2) self.tree.add_value(8) self.tree.add_value(5) def test_count(self): self.assertEqual(self.tree.get_count(), 10) def test_sum(self): self.assertEqual(self.tree.get_sum(), 38) def test_avg(self): self.assertEqual(self.tree.get_avg(), 3.8) def test_median(self): self.assertEqual(self.tree.get_median(), 4) def test_find(self): self.assertEqual(self.tree.find(5).get_value(), 5)
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)
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)
from tree.tree import Tree # Create new tree tree = Tree() tree.add_value(5) tree.add_value(4) tree.add_value(6) tree.add_value(1) tree.add_value(7) tree.add_value(10) print("Tree:") print(tree) print("Count: ", tree.get_count()) print("Sum: ", tree.get_sum()) print("Levels: ", tree.get_levels()) print("Avg: ", tree.get_avg()) print("Inorder traversal: ", tree.get_inorder_traversal()) print("Median: ", tree.get_median()) print("Find node with value 6", tree.find(6))