示例#1
0
 def test_put_get_mixed_memory(self):
     c = cache.LruCache(2)
     c = cache.insert_after_k_hits_cache(c, k=2, memory=2)
     self.assertEqual(0, len(c._metacache_queue))
     self.assertEqual(0, len(c._metacache_hits))
     self.assertFalse(c.get(1))
     c.put(1)
     self.assertEqual(1, len(c._metacache_queue))
     self.assertEqual(1, len(c._metacache_hits))
     self.assertFalse(c.get(2))
     c.put(2)
     self.assertEqual(2, len(c._metacache_queue))
     self.assertEqual(2, len(c._metacache_hits))
     self.assertFalse(c.get(3))
     c.put(3)
     self.assertEqual(2, len(c._metacache_queue))
     self.assertEqual(2, len(c._metacache_hits))
     self.assertFalse(c.get(1))
     c.put(1)
     self.assertEqual(2, len(c._metacache_queue))
     self.assertEqual(2, len(c._metacache_hits))
     # This fails because memory wiped out record for 1
     self.assertFalse(c.get(1))
     self.assertFalse(c.get(3))
     c.put(3)
     self.assertEqual(1, len(c._metacache_queue))
     self.assertEqual(1, len(c._metacache_hits))
     self.assertTrue(c.get(3))
     self.assertFalse(c.get(1))
     c.put(1)
     self.assertTrue(c.get(1))
     self.assertEqual(0, len(c._metacache_queue))
     self.assertEqual(0, len(c._metacache_hits))
示例#2
0
 def test_put_get_mixed_memory(self):
     c = cache.LruCache(2)
     c = cache.insert_after_k_hits_cache(c, k=2, memory=2)
     self.assertEqual(0, len(c._metacache_queue))
     self.assertEqual(0, len(c._metacache_hits))
     self.assertFalse(c.get(1))
     c.put(1)
     self.assertEqual(1, len(c._metacache_queue))
     self.assertEqual(1, len(c._metacache_hits))
     self.assertFalse(c.get(2))
     c.put(2)
     self.assertEqual(2, len(c._metacache_queue))
     self.assertEqual(2, len(c._metacache_hits))
     self.assertFalse(c.get(3))
     c.put(3)
     self.assertEqual(2, len(c._metacache_queue))
     self.assertEqual(2, len(c._metacache_hits))
     self.assertFalse(c.get(1))
     c.put(1)
     self.assertEqual(2, len(c._metacache_queue))
     self.assertEqual(2, len(c._metacache_hits))
     # This fails because memory wiped out record for 1
     self.assertFalse(c.get(1))
     self.assertFalse(c.get(3))
     c.put(3)
     self.assertEqual(1, len(c._metacache_queue))
     self.assertEqual(1, len(c._metacache_hits))
     self.assertTrue(c.get(3))
     self.assertFalse(c.get(1))
     c.put(1)
     self.assertTrue(c.get(1))
     self.assertEqual(0, len(c._metacache_queue))
     self.assertEqual(0, len(c._metacache_hits))
示例#3
0
 def test_deepcopy(self):
     c = cache.LruCache(10)
     rc = cache.insert_after_k_hits_cache(c, k=3)
     rc.put(1)
     self.assertFalse(c.has(1))
     c.put(3)
     self.assertFalse(rc.has(3))
示例#4
0
 def test_deepcopy(self):
     c = cache.LruCache(10)
     rc = cache.insert_after_k_hits_cache(c, k=3)
     rc.put(1)
     assert not c.has(1)
     c.put(3)
     assert not rc.has(3)
示例#5
0
 def test_put_get_mixed_memory(self):
     c = cache.LruCache(2)
     c = cache.insert_after_k_hits_cache(c, k=2, memory=2)
     assert 0 == len(c._metacache_queue)
     assert 0 == len(c._metacache_hits)
     assert not c.get(1)
     c.put(1)
     assert 1 == len(c._metacache_queue)
     assert 1 == len(c._metacache_hits)
     assert not c.get(2)
     c.put(2)
     assert 2 == len(c._metacache_queue)
     assert 2 == len(c._metacache_hits)
     assert not c.get(3)
     c.put(3)
     assert 2 == len(c._metacache_queue)
     assert 2 == len(c._metacache_hits)
     assert not c.get(1)
     c.put(1)
     assert 2 == len(c._metacache_queue)
     assert 2 == len(c._metacache_hits)
     # This fails because memory wiped out record for 1
     assert not c.get(1)
     assert not c.get(3)
     c.put(3)
     assert 1 == len(c._metacache_queue)
     assert 1 == len(c._metacache_hits)
     assert c.get(3)
     assert not c.get(1)
     c.put(1)
     assert c.get(1)
     assert 0 == len(c._metacache_queue)
     assert 0 == len(c._metacache_hits)
示例#6
0
 def test_deepcopy(self):
     c = cache.LruCache(10)
     rc = cache.insert_after_k_hits_cache(c, k=3)
     rc.put(1)
     self.assertFalse(c.has(1))
     c.put(3)
     self.assertFalse(rc.has(3))
示例#7
0
 def test_put_get_force_insert_eviction(self):
     c = cache.LruCache(2)
     c = cache.insert_after_k_hits_cache(c, k=3, memory=None)
     self.assertFalse(c.get(1))
     c.put(1, force_insert=True)
     self.assertTrue(c.get(1))
     c.put(2, force_insert=True)
     self.assertTrue(c.get(2))
     self.assertEqual(c.put(3, force_insert=True), 1)
示例#8
0
 def test_put_get_force_insert_eviction(self):
     c = cache.LruCache(2)
     c = cache.insert_after_k_hits_cache(c, k=3, memory=None)
     assert not c.get(1)
     c.put(1, force_insert=True)
     assert c.get(1)
     c.put(2, force_insert=True)
     assert c.get(2)
     assert c.put(3, force_insert=True) == 1
示例#9
0
 def test_put_get_force_insert_eviction(self):
     c = cache.LruCache(2)
     c = cache.insert_after_k_hits_cache(c, k=3, memory=None)
     self.assertFalse(c.get(1))
     c.put(1, force_insert=True)
     self.assertTrue(c.get(1))
     c.put(2, force_insert=True)
     self.assertTrue(c.get(2))
     self.assertEqual(c.put(3, force_insert=True), 1)
示例#10
0
 def test_put_get_no_memory(self):
     c = cache.LruCache(2)
     c = cache.insert_after_k_hits_cache(c, k=3, memory=None)
     self.assertFalse(c.get(1))
     c.put(1)
     self.assertFalse(c.get(1))
     c.put(1)
     self.assertFalse(c.get(1))
     c.put(1)
     self.assertTrue(c.get(1))
示例#11
0
 def test_naming(self):
     c = cache.insert_after_k_hits_cache(cache.FifoCache(3), k=3)
     self.assertEqual(c.get.__name__, 'get')
     self.assertEqual(c.put.__name__, 'put')
     self.assertEqual(c.dump.__name__, 'dump')
     self.assertEqual(c.clear.__name__, 'clear')
     self.assertGreater(len(c.get.__doc__), 0)
     self.assertGreater(len(c.put.__doc__), 0)
     self.assertGreater(len(c.dump.__doc__), 0)
     self.assertGreater(len(c.clear.__doc__), 0)
示例#12
0
 def test_naming(self):
     c = cache.insert_after_k_hits_cache(cache.FifoCache(3), k=3)
     assert c.get.__name__ == 'get'
     assert c.put.__name__ == 'put'
     assert c.dump.__name__ == 'dump'
     assert c.clear.__name__ == 'clear'
     assert len(c.get.__doc__) > 0
     assert len(c.put.__doc__) > 0
     assert len(c.dump.__doc__) > 0
     assert len(c.clear.__doc__) > 0
示例#13
0
 def test_naming(self):
     c = cache.insert_after_k_hits_cache(cache.FifoCache(3), k=3)
     self.assertEqual(c.get.__name__, "get")
     self.assertEqual(c.put.__name__, "put")
     self.assertEqual(c.dump.__name__, "dump")
     self.assertEqual(c.clear.__name__, "clear")
     self.assertGreater(len(c.get.__doc__), 0)
     self.assertGreater(len(c.put.__doc__), 0)
     self.assertGreater(len(c.dump.__doc__), 0)
     self.assertGreater(len(c.clear.__doc__), 0)
示例#14
0
 def test_naming(self):
     c = cache.insert_after_k_hits_cache(cache.FifoCache(3), k=3)
     assert c.get.__name__ == "get"
     assert c.put.__name__ == "put"
     assert c.dump.__name__ == "dump"
     assert c.clear.__name__ == "clear"
     assert len(c.get.__doc__) > 0
     assert len(c.put.__doc__) > 0
     assert len(c.dump.__doc__) > 0
     assert len(c.clear.__doc__) > 0
示例#15
0
 def test_put_get_no_memory(self):
     c = cache.LruCache(2)
     c = cache.insert_after_k_hits_cache(c, k=3, memory=None)
     assert not c.get(1)
     c.put(1)
     assert not c.get(1)
     c.put(1)
     assert not c.get(1)
     c.put(1)
     assert c.get(1)
示例#16
0
 def test_naming(self):
     c = cache.insert_after_k_hits_cache(cache.FifoCache(3), k=3)
     self.assertEqual(c.get.__name__, 'get')
     self.assertEqual(c.put.__name__, 'put')
     self.assertEqual(c.dump.__name__, 'dump')
     self.assertEqual(c.clear.__name__, 'clear')
     self.assertGreater(len(c.get.__doc__), 0)
     self.assertGreater(len(c.put.__doc__), 0)
     self.assertGreater(len(c.dump.__doc__), 0)
     self.assertGreater(len(c.clear.__doc__), 0)
示例#17
0
 def test_put_get_no_memory(self):
     c = cache.LruCache(2)
     c = cache.insert_after_k_hits_cache(c, k=3, memory=None)
     self.assertFalse(c.get(1))
     c.put(1)
     self.assertFalse(c.get(1))
     c.put(1)
     self.assertFalse(c.get(1))
     c.put(1)
     self.assertTrue(c.get(1))