示例#1
0
 def test_lfu(self):
     c = cache.InCacheLfuCache(4)
     self.assertEquals(len(c), 0)
     c.put(1)
     self.assertEquals(len(c), 1)
     c.put(2)
     self.assertEquals(len(c), 2)
     c.put(3)
     self.assertEquals(len(c), 3)
     c.put(4)
     self.assertEquals(len(c), 4)
     self.assertEquals(len(c.dump()), 4)
     for v in (1, 2, 3, 4):
         self.assertTrue(c.has(v))
     c.get(1)
     c.get(1)
     c.get(1)
     c.get(2)
     c.get(2)
     c.get(3)
     c.put(5)
     self.assertEquals(c.dump(), [1, 2, 3, 5])
     self.assertEquals(len(c), 4)
     self.assertTrue(c.has(5))
     c.clear()
     self.assertEquals(len(c), 0)
     self.assertEquals(c.dump(), [])
示例#2
0
 def test_lfu(self):
     c = cache.InCacheLfuCache(4)
     assert len(c) == 0
     c.put(1)
     assert len(c) == 1
     c.put(2)
     assert len(c) == 2
     c.put(3)
     assert len(c) == 3
     c.put(4)
     assert len(c) == 4
     assert len(c.dump()) == 4
     for v in (1, 2, 3, 4):
         assert c.has(v)
     c.get(1)
     c.get(1)
     c.get(1)
     c.get(2)
     c.get(2)
     c.get(3)
     c.put(5)
     assert c.dump() == [1, 2, 3, 5]
     assert len(c) == 4
     assert c.has(5)
     c.clear()
     assert len(c) == 0
     assert c.dump() == []
示例#3
0
 def test_in_cache_lfu_cache(self):
     r = 0.1
     h = cacheperf.numeric_cache_hit_ratio(
         self.pdf, cache.InCacheLfuCache(r * self.n))
     assert np.abs(h - r) < 0.01