def test_deletion_leaf(self): bt = BinarySearchTree() bt.insert_multiple_values([10, 20, 22, 3, 7, 4, 32, 900]) node, depth = bt.search(900) self.assertEqual(node.value, 900) self.assertEqual(depth, 4) bt.delete(900) node, _ = bt.search(900) self.assertIsNone(node) self.assertEqual(bt.in_order(), [3, 4, 7, 10, 20, 22, 32])
def test_deletion_first_use_case(self): bt = BinarySearchTree() bt.insert_multiple_values([10, 20, 22, 3, 7, 4, 32, 900]) node, depth = bt.search(4) self.assertEqual(node.value, 4) self.assertEqual(depth, 3) bt.delete(4) node, depth = bt.search(4) self.assertIsNone(node) self.assertEqual(bt.in_order(), [3, 7, 10, 20, 22, 32, 900])