示例#1
0
 def testCase1(self):
     cache = Cache(1)
     self.assertEqual(cache.size(), 0) 
     self.assertEqual(cache.capacity(), 1) 
     cache.Add(1, 'a')
     self.assertEqual(cache.size(), 1) 
     self.assertEqual(cache.capacity(), 1) 
     self.assertEqual(cache.Fetch(1), 'a') 
     cache.Add(2, 'b')
     self.assertEqual(cache.Fetch(1), None) 
     self.assertEqual(cache.Fetch(2), 'b') 
     cache.Add(1, 'a')
     self.assertEqual(cache.Fetch(1), 'a') 
     self.assertEqual(cache.Fetch(2), None) 
     cache.Remove(1)
     self.assertEqual(cache.Fetch(1), None) 
     self.assertEqual(cache.size(), 0) 
     self.assertEqual(cache.capacity(), 1) 
     cache.Add(3, 'c')
     cache.Clear()
     self.assertEqual(cache.Fetch(3), None) 
     self.assertEqual(cache.size(), 0) 
示例#2
0
 def testCase3(self):
     cache = Cache(5)
     cache.Add(1, 'a')
     self.assertEqual(cache._head().key, 1) 
     self.assertEqual(cache._tail().key, 1) 
     cache.Add(2, 'b')
     self.assertEqual(cache._head().key, 1) 
     self.assertEqual(cache._tail().key, 2) 
     cache.Add(3, 'c')
     self.assertEqual(cache._head().key, 1) 
     self.assertEqual(cache._tail().key, 3) 
     cache.Add(4, 'd')
     self.assertEqual(cache._head().key, 1) 
     self.assertEqual(cache._tail().key, 4) 
     cache.Add(5, 'e') # 1->2->3->4->5
     self.assertEqual(cache._head().key, 1) 
     self.assertEqual(cache._tail().key, 5) 
     self.assertEqual(cache.Fetch(2), 'b') # 1->3->4->5->2
     self.assertEqual(cache._head().key, 1) 
     self.assertEqual(cache._tail().key, 2) 
     self.assertEqual(cache.Fetch(1), 'a') # 3->4->5->2->1
     self.assertEqual(cache._head().key, 3) 
     self.assertEqual(cache._tail().key, 1) 
     self.assertEqual(cache.Fetch(1), 'a') # 3->4->5->2->1
     self.assertEqual(cache._head().key, 3) 
     self.assertEqual(cache._tail().key, 1) 
     cache.Remove(3) # 4->5->2->1
     self.assertEqual(cache._head().key, 4) 
     self.assertEqual(cache._tail().key, 1) 
     cache.Remove(1) # 4->5->2
     self.assertEqual(cache._head().key, 4) 
     self.assertEqual(cache._tail().key, 2) 
     self.assertEqual(cache.size(), 3) 
     assert cache.Fetch(5) # 4->2->5
     self.assertEqual(cache._head().key, 4) 
     self.assertEqual(cache._tail().key, 5) 
     self.assertEqual(cache.size(), 3) 
     self.assertEqual(cache.capacity(), 5) 
     cache.Remove(4) # 2->5
     self.assertEqual(cache._head().key, 2) 
     self.assertEqual(cache._tail().key, 5) 
     self.assertEqual(cache.Fetch(4), None) 
     cache.Remove(2)  # 5
     self.assertEqual(cache.Fetch(2), None) 
     self.assertEqual(cache._head().key, 5) 
     self.assertEqual(cache._tail().key, 5) 
     cache.Clear()
     self.assertEqual(cache._head(), None) 
     self.assertEqual(cache._tail(), None)