@@ -730,64 +730,5 @@ def test_popitem(self):
730730 self .assertRaises (KeyError , d .popitem )
731731
732732
733- class SimpleLRUCache :
734-
735- def __init__ (self , size ):
736- super ().__init__ ()
737- self .size = size
738-
739- def __getitem__ (self , item ):
740- value = super ().__getitem__ (item )
741- self .move_to_end (item )
742- return value
743-
744- def __setitem__ (self , key , value ):
745- while key not in self and len (self ) >= self .size :
746- self .popitem (last = False )
747- super ().__setitem__ (key , value )
748- self .move_to_end (key )
749-
750-
751- class SimpleLRUCacheTests :
752-
753- def test_add_after_full (self ):
754- c = self .type2test (2 )
755- c ['t1' ] = 1
756- c ['t2' ] = 2
757- c ['t3' ] = 3
758- self .assertEqual (list (c ), ['t2' , 't3' ])
759-
760- def test_popitem (self ):
761- c = self .type2test (3 )
762- for i in range (1 , 4 ):
763- c [i ] = i
764- self .assertEqual (c .popitem (last = False ), (1 , 1 ))
765- self .assertEqual (c .popitem (last = True ), (3 , 3 ))
766-
767- def test_change_order_on_get (self ):
768- c = self .type2test (3 )
769- for i in range (1 , 4 ):
770- c [i ] = i
771- self .assertEqual (list (c ), list (range (1 , 4 )))
772- self .assertEqual (c [2 ], 2 )
773- self .assertEqual (list (c ), [1 , 3 , 2 ])
774-
775-
776- class PySimpleLRUCacheTests (SimpleLRUCacheTests , unittest .TestCase ):
777-
778- class type2test (SimpleLRUCache , py_coll .OrderedDict ):
779- pass
780-
781-
782- @unittest .skipUnless (c_coll , 'requires the C version of the collections module' )
783- class CSimpleLRUCacheTests (SimpleLRUCacheTests , unittest .TestCase ):
784-
785- @classmethod
786- def setUpClass (cls ):
787- class type2test (SimpleLRUCache , c_coll .OrderedDict ):
788- pass
789- cls .type2test = type2test
790-
791-
792733if __name__ == "__main__" :
793734 unittest .main ()
0 commit comments