def test_removeLeastAccessed(self): s = Storage(maxEntries=3) object = 'object' object2 = 'object2' key1 = ('view1', (), ('answer', 42)) key2 = ('view2', (), ('answer', 42)) key3 = ('view3', (), ('answer', 42)) value = 'yes' timestamp = time() s._data = {object: {key1: [value, 1, 10], key2: [value, 6, 5], key3: [value, 2, 2]}, object2: {key1: [value, 5, 2], key2: [value, 3, 1], key3: [value, 4, 1]}} s.removeLeastAccessed() self.assertEqual(s._data, {object: {key1: [value, 1, 0], key2: [value, 6, 0]}}, 'least records removed incorrectly') s = Storage(maxEntries=6) s._data = {object: {key1: [value, timestamp, 10], key2: [value, timestamp, 5], key3: [value, timestamp, 2]}, object2: {key1: [value, timestamp, 2], key2: [value, timestamp, 1], key3: [value, timestamp, 1]}} c = s._data.copy() s.removeLeastAccessed() self.assertEqual(s._data, c, "modified list even though len < max")