コード例 #1
0
    def test_delete_delegated(self):
        cache = Cache()

        def delete_item(cache_item: CacheItem):
            return cache_item.key % 10 == 0 or cache_item.value % 25 == 0

        for i in range(1, 101):
            cache[i] = i

        num_deleted = cache.delete_delegated(delete_item)
        # Should be deleted: 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 25, 75 (10 based on keys, 2 based on values)
        self.assertEqual(num_deleted, 10 + 2)

        for key, value in cache.items():
            cond = key % 10 != 0 and value.value % 25 != 0
            self.assertTrue(cond)