コード例 #1
0
ファイル: test_skiplist.py プロジェクト: balta2ar/scratchpad
    def test_remove(self):
        skip = SkipList([1, 2, 3])
        with self.assertRaises(KeyError):
            skip.remove(100)

        x = 1
        skip.remove(x)
        self.assertNotIn(x, skip)

        items = list(range(100))
        random.shuffle(items)
        skip = SkipList()
        std = set()

        for i, x in enumerate(items):
            skip.add(x)
            std.add(x)

        self.assertEqual(sorted(list(skip)), sorted(list(std)))

        for i, x in enumerate(items):
            skip.remove(x)
            std.remove(x)
            self.assertNotIn(x, skip)
            self.assertEqual(sorted(list(skip)), sorted(list(std)))
コード例 #2
0
ファイル: test_skiplist.py プロジェクト: balta2ar/scratchpad
 def test_smoke(self):
     skip = SkipList()
     skip.add(3)
     skip.add(2)
     skip.add(1)
     # print(skip.viz())
     self.assertTrue(1 in skip)
     self.assertTrue(2 in skip)
     self.assertTrue(3 in skip)
     self.assertFalse(0 in skip)
     self.assertFalse(4 in skip)
     self.assertFalse(10 in skip)
コード例 #3
0
ファイル: test_skiplist.py プロジェクト: balta2ar/scratchpad
    def test_add(self):
        items = list(range(100))
        random.shuffle(items)
        skip = SkipList()
        std = set()
        for i, x in enumerate(items):
            skip.add(x)
            std.add(x)
            self.assertEqual(x in skip, x in std)

            for j in range(i):
                y = items[j]
                self.assertEqual(y in skip, y in std)