def test_random_immutable_adds_and_deletes(self): t = Tree(10) s = {10} for _ in range(100): r = random.randint(0, 100000000) t = t.add_mutable(r) s.add(r) self.assertEqual(t.as_list(), sorted(s)) for i in range(99): r = random.choice(list(s)) t = t.del_mutable(r) s.remove(r) self.assertEqual(t.as_list(), sorted(s), "problem in {}th delete".format(i))
def test_del_mutable(self): t = Tree(10).add_immutables(15, 5, 3, 7) self.assertEqual(t.del_mutable(15).as_list(), [3, 5, 7, 10]) self.assertEqual(t.del_mutable(5).as_list(), [3, 7, 10]) self.assertEqual(t.del_mutable(10).as_list(), [3, 7]) t = Tree(10).add_mutable(15, 12, 11, 20, 25, 5, 3, 7, 1, 4, 6, 8) self.assertEqual(t.as_list(), [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 15, 20, 25]) self.assertEqual(t.del_mutable(25).as_list(), [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 15, 20]) self.assertEqual(t.del_mutable(11).as_list(), [1, 3, 4, 5, 6, 7, 8, 10, 12, 15, 20]) self.assertEqual(t.del_mutable(8).as_list(), [1, 3, 4, 5, 6, 7, 10, 12, 15, 20]) self.assertEqual(t.del_mutable(1).as_list(), [3, 4, 5, 6, 7, 10, 12, 15, 20]) self.assertEqual(t.del_mutable(7).as_list(), [3, 4, 5, 6, 10, 12, 15, 20]) self.assertEqual(t.del_mutable(3).as_list(), [4, 5, 6, 10, 12, 15, 20]) self.assertEqual(t.del_mutable(10).as_list(), [4, 5, 6, 12, 15, 20])