Esempio n. 1
0
 def test_max_items(self):
     cache = Cache(10)
     self.failUnlessEqual(cache.num_items(),0,"number of items: "+`cache.num_items()`)
     for i in range(10):
         item = CacheItem(i,i, sec(1), sec(2), sec(3))
         cache.add_item(item)
     self.failUnlessEqual(cache.num_items(),10,"number of items: "+`cache.num_items()`)
     for i in range(10,30):
         item = CacheItem(i,i, sec(1), sec(2), sec(3))
         cache.add_item(item)
     self.failUnless(cache.num_items() > 7,"number of items: "+`cache.num_items()`)
     self.failUnless(cache.num_items() <= 10,"number of items: "+`cache.num_items()`)
     self.failUnlessEqual(cache.num_items(),len(cache._items),
         "number of items: %r, in dict: %r" % (cache.num_items(), cache._items))
Esempio n. 2
0
 def test_item_expiration(self):
     cache = Cache(100)
     item = CacheItem("test_addr","test_value", sec(0.1), sec(0.2), sec(0.3))
     cache.add_item(item)
     gitem = cache.get_item("test_addr","fresh")
     self.failUnlessEqual(gitem,item)
     sleep(0.01)
     gitem = cache.get_item("test_addr","fresh")
     self.failUnlessEqual(gitem,item)
     sleep(0.1)
     gitem = cache.get_item("test_addr","fresh")
     self.failUnlessEqual(gitem,None)
     cache.tick()
     gitem = cache.get_item("test_addr","old")
     self.failUnlessEqual(gitem,item)
     sleep(0.3)
     cache.tick()
     gitem = cache.get_item("test_addr","stale")
     self.failUnlessEqual(gitem,None)
     self.failUnlessEqual(cache.num_items(),0,"number of items: "+`cache.num_items()`)