Пример #1
0
    def test_find_2(self):
        sl = SkipList()
        sl.insert( 3, 0 )
        sl.insert( 1, 0 )

        self.assertEqual(sl.find(1), 1)
        self.assertEqual(sl.find(3), 3)
        self.assertEqual(sl.find(2), None)
Пример #2
0
    def test_find_2(self):
        sl = SkipList()
        sl.insert(3, 0)
        sl.insert(1, 0)

        self.assertEqual(sl.find(1), 1)
        self.assertEqual(sl.find(3), 3)
        self.assertEqual(sl.find(2), None)
Пример #3
0
    def test_skiplist(self):
        from skiplist import SkipList
        array = range(100)
        random.shuffle(array)
        slist = SkipList(array)
        self.assertTrue(slist.find(50))

        keys = [n.key for n in slist.as_list()]
        random.shuffle(keys)
        length = len(keys)
        for key in keys:
            slist.delete(key)
            length -= 1
            self.assertEqual(length, len(slist.as_list()))
            self.assertFalse(slist.find(key))  # key should gone
Пример #4
0
 def test_skip_1(self):
     sl = SkipList()
     sl.insert(3, 3)
     sl.insert(2, 1)
     sl.insert(1, 3)
     self.assertEqual(sl.head.level, 3)
     self.assertEqual(sl.find(2), 2)
     self.assertEqual(sl.get_at(1).level, 3)
     self.assertEqual(sl.head.skiplist[0].data, 2)
     self.assertEqual(sl.head.skiplist[1].data, 2)
Пример #5
0
 def test_skip_1(self):
     sl = SkipList()
     sl.insert( 3, 3 )
     sl.insert( 2, 1 )
     sl.insert( 1, 3 )
     self.assertEqual(sl.head.level, 3)
     self.assertEqual(sl.find(2), 2)
     self.assertEqual(sl.get_at(1).level, 3)
     self.assertEqual(sl.head.skiplist[0].data, 2)
     self.assertEqual(sl.head.skiplist[1].data, 2)
Пример #6
0
    def test_remove_r_middle_1(self):
        sl = SkipList()
        sl.insert(3)
        sl.insert(2)
        sl.insert(1)

        sl.remove(2)

        self.assertEqual(sl.head.data, 1)
        self.assertEqual(sl.get_at(1).data, 3)

        self.assertIsNone(sl.find(2))

        sl.insert(2)
        self.assertEqual(sl.get_at(1).data, 2)
        self.assertEqual(sl.get_at(2).data, 3)
Пример #7
0
    def test_remove_r_middle_1(self):
        sl = SkipList()
        sl.insert( 3 )
        sl.insert( 2 )
        sl.insert( 1 )

        sl.remove( 2 )

        self.assertEqual(sl.head.data, 1)
        self.assertEqual(sl.get_at(1).data, 3)

        self.assertIsNone(sl.find(2))

        sl.insert( 2 )
        self.assertEqual(sl.get_at(1).data, 2)
        self.assertEqual(sl.get_at(2).data, 3)
Пример #8
0
    def test_find_1(self):
        sl = SkipList()
        sl.insert(3, 0)
        sl.insert(1, 0)

        self.assertEqual(sl.find(1), 1)
Пример #9
0
    def test_find_1(self):
        sl = SkipList()
        sl.insert( 3, 0 )
        sl.insert( 1, 0 )

        self.assertEqual(sl.find(1), 1)