def test_in_order_traversal(self): print("Running test_in_order_traversal") h = AVL() n1 = h.insert(20) n2 = h.insert(10) n3 = h.insert(25) n4 = h.insert(5) n5 = h.insert(18) order = h.in_order_traversal() ground_truth = [n4, n2, 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)