Beispiel #1
0
    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))
Beispiel #2
0
    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])