def test_simple_delete_4(self):  # XX
     print("Running test_simple_delete_4")
     h = BST([6, 4, 5, 10])
     self.check_multiline(str(h), [["6"], ["4", "10"], ["_", "5", "_", "_"],
                                   ["_", "_"], ["4", "5", "6", "10"]])
     n = h.delete(4)
     self.assertEqual(h.in_order_traversal(), [5, 6, 10])
     self.assertTrue(n)
     n_2 = h.delete(4)
     self.assertFalse(n_2)
 def test_in_order_traversal(self):
     print("Running test_in_order_traversal")
     h = BST()
     n1 = h.insert(20)
     n2 = h.insert(10)
     n3 = h.insert(25)
     n4 = h.insert(5)
     n5 = h.insert(18)
     n6 = h.insert(13)
     n7 = h.insert(15)
     order = h.in_order_traversal()
     ground_truth = [n4, n2, n6, n7, n5, n1, n3]
     for element in order:
         # Check if there are still elements that could be processed
         self.assertTrue(len(ground_truth) > 0)
         gt = ground_truth.pop(0)
         self.assertTrue(isinstance(element, Node))
         self.assertEqual(element, gt)
     # All elements should have been processed.
     self.assertTrue(len(ground_truth) == 0)
Ejemplo n.º 3
0
from bst import Student, BST

if __name__ == '__main__':
    bst1 = BST()
    bst1.add(5)
    bst1.add(9)
    bst1.add(1)
    print(bst1.in_order_traversal())

    bst2 = BST()
    bst2.add(Student(88, "Sasha"))
    bst2.add(Student(94, "Rachel"))
    bst2.add(Student(93, "Phil"))
    bst2.add(Student(85, "Mike"))

    in_order = bst2.in_order_traversal()
    for i in in_order:
        print(i)