コード例 #1
0
 def test_breadth_first_traversal(self):
     print("Running test_breadth_first_traversal")
     h = AVL()
     n1 = h.insert(20)
     n2 = h.insert(10)
     n3 = h.insert(25)
     n4 = h.insert(5)
     n5 = h.insert(18)
     b = h.breadth_first_traversal()
     ground_truth = [n1, n2, n3, n4, n5, None, None, None, None, None, None]
     for layer in b:
         for element in layer:
             # 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) or element is None)
             self.assertEqual(element, gt)
     # All elements should have been processed.
     self.assertTrue(len(ground_truth) == 0)