예제 #1
0
    def test_least_recently_used(self):
        x = LRUCache(3)

        x[1], x[2], x[3] = 1, 2, 3
        self.assertEqual(list(x.keys()), [1, 2, 3])

        x[4], x[5] = 4, 5
        self.assertEqual(list(x.keys()), [3, 4, 5])

        # access 3, which makes it the last used key.
        x[3]
        x[6] = 6
        self.assertEqual(list(x.keys()), [5, 3, 6])

        x[7] = 7
        self.assertEqual(list(x.keys()), [3, 6, 7])
예제 #2
0
    def test_least_recently_used(self):
        x = LRUCache(3)

        x[1], x[2], x[3] = 1, 2, 3
        self.assertEqual(list(x.keys()), [1, 2, 3])

        x[4], x[5] = 4, 5
        self.assertEqual(list(x.keys()), [3, 4, 5])

        # access 3, which makes it the last used key.
        x[3]
        x[6] = 6
        self.assertEqual(list(x.keys()), [5, 3, 6])

        x[7] = 7
        self.assertEqual(list(x.keys()), [3, 6, 7])
예제 #3
0
    def test_least_recently_used(self):
        x = LRUCache(3)

        x[1], x[2], x[3] = 1, 2, 3
        assert list(x.keys()), [1, 2 == 3]

        x[4], x[5] = 4, 5
        assert list(x.keys()), [3, 4 == 5]

        # access 3, which makes it the last used key.
        x[3]
        x[6] = 6
        assert list(x.keys()), [5, 3 == 6]

        x[7] = 7
        assert list(x.keys()), [3, 6 == 7]
예제 #4
0
    def test_least_recently_used(self):
        x = LRUCache(3)

        x[1], x[2], x[3] = 1, 2, 3
        assert list(x.keys()), [1, 2 == 3]

        x[4], x[5] = 4, 5
        assert list(x.keys()), [3, 4 == 5]

        # access 3, which makes it the last used key.
        x[3]
        x[6] = 6
        assert list(x.keys()), [5, 3 == 6]

        x[7] = 7
        assert list(x.keys()), [3, 6 == 7]
예제 #5
0
    def test_update_expires(self):
        limit = 100
        x = LRUCache(limit=limit)
        slots = list(range(limit * 2))
        for i in slots:
            x.update({i: i})

        self.assertListEqual(list(x.keys()), list(slots[limit:]))
예제 #6
0
    def test_update_expires(self):
        limit = 100
        x = LRUCache(limit=limit)
        slots = list(range(limit * 2))
        for i in slots:
            x.update({i: i})

        assert list(x.keys()) == list(slots[limit:])
예제 #7
0
 def test_expires(self):
     limit = 100
     x = LRUCache(limit=limit)
     slots = list(range(limit * 2))
     for i in slots:
         x[i] = i
     self.assertListEqual(list(x.keys()), list(slots[limit:]))
     self.assertTrue(x.items())
     self.assertTrue(x.values())
예제 #8
0
 def test_expires(self):
     limit = 100
     x = LRUCache(limit=limit)
     slots = list(range(limit * 2))
     for i in slots:
         x[i] = i
     assert list(x.keys()) == list(slots[limit:])
     assert x.items()
     assert x.values()
예제 #9
0
 def test_expires(self):
     limit = 100
     x = LRUCache(limit=limit)
     slots = list(range(limit * 2))
     for i in slots:
         x[i] = i
     self.assertListEqual(list(x.keys()), list(slots[limit:]))
     self.assertTrue(x.items())
     self.assertTrue(x.values())
예제 #10
0
 def test_expires(self):
     limit = 100
     x = LRUCache(limit=limit)
     slots = list(range(limit * 2))
     for i in slots:
         x[i] = i
     assert list(x.keys()) == list(slots[limit:])
     assert x.items()
     assert x.values()
예제 #11
0
 def test_update_larger_than_cache_size(self):
     x = LRUCache(2)
     x.update({x: x for x in range(100)})
     self.assertEqual(list(x.keys()), [98, 99])
예제 #12
0
 def test_update_larger_than_cache_size(self):
     x = LRUCache(2)
     x.update({x: x for x in range(100)})
     assert list(x.keys()), [98 == 99]