def test_remove(self): c = cache.RandEvictionCache(4) c.put(1) c.put(2) c.put(3) c.remove(2) self.assertEqual(len(c), 2) for v in (3, 1): self.assertTrue(c.has(v)) c.put(4) c.put(5) for v in (5, 4, 3, 1): self.assertTrue(c.has(v)) c.remove(5) self.assertEqual(len(c), 3) for v in (4, 3, 1): self.assertTrue(c.has(v))
def test_remove(self): c = cache.RandEvictionCache(4) c.put(1) c.put(2) c.put(3) c.remove(2) assert len(c) == 2 for v in (3, 1): assert c.has(v) c.put(4) c.put(5) for v in (5, 4, 3, 1): assert c.has(v) c.remove(5) assert len(c) == 3 for v in (4, 3, 1): assert c.has(v)
def test_rand(self): c = cache.RandEvictionCache(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(3) for v in (1, 2, 3, 4): self.assertTrue(c.has(v)) c.put(5) self.assertEquals(len(c), 4) self.assertTrue(c.has(5)) c.clear() self.assertEquals(len(c), 0) self.assertEquals(c.dump(), [])
def test_rand(self): c = cache.RandEvictionCache(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(3) for v in (1, 2, 3, 4): assert c.has(v) c.put(5) assert len(c) == 4 assert c.has(5) c.clear() assert len(c) == 0 assert c.dump() == []
def test_rand_cache(self): r = 0.1 h = cacheperf.numeric_cache_hit_ratio( self.pdf, cache.RandEvictionCache(r * self.n)) assert np.abs(h - r) < 0.01