Beispiel #1
0
 def setUp(self):
     self.cache_store = MemoryCacheStore()
     stored_value_a, size_a = self.cache_store.store_value('a', 42)
     stored_value_b, size_b = self.cache_store.store_value('b', True)
     stored_value_c, size_c = self.cache_store.store_value('c', "S" * 256)
     stored_value_d, size_d = self.cache_store.store_value('d', 3.14)
     self.stored_value_a = stored_value_a
     self.stored_value_b = stored_value_b
     self.stored_value_c = stored_value_c
     self.stored_value_d = stored_value_d
     self.assertEqual(size_a, 28)
     self.assertEqual(size_b, 28)
     self.assertEqual(size_c, 305)
     self.assertEqual(size_d, 24)
Beispiel #2
0
 def __init__(self,
              prefix: str = None,
              base_dir: str = None,
              config: Config = None,
              trace_perf: bool = DEFAULT_TRACE_PERF,
              tile_comp_mode: int = None,
              tile_cache_capacity: int = None,
              ml_dataset_openers: Dict[str,
                                       MultiLevelDatasetOpener] = None):
     self._prefix = normalize_prefix(prefix)
     self._base_dir = os.path.abspath(base_dir or '')
     self._config = config if config is not None else dict()
     self._config_mtime = 0.0
     self._place_group_cache = dict()
     self._feature_index = 0
     self._ml_dataset_openers = ml_dataset_openers
     self._tile_comp_mode = tile_comp_mode
     self._trace_perf = trace_perf
     self._lock = threading.RLock()
     self._dataset_cache = dict(
     )  # contains tuples of form (MultiLevelDataset, ds_descriptor)
     self._image_cache = dict()
     if tile_cache_capacity and tile_cache_capacity > 0:
         self._tile_cache = Cache(MemoryCacheStore(),
                                  capacity=tile_cache_capacity,
                                  threshold=0.75)
     else:
         self._tile_cache = None
Beispiel #3
0
class MemoryCacheStoreTest(unittest.TestCase):
    def setUp(self):
        self.cache_store = MemoryCacheStore()
        stored_value_a, size_a = self.cache_store.store_value('a', 42)
        stored_value_b, size_b = self.cache_store.store_value('b', True)
        stored_value_c, size_c = self.cache_store.store_value('c', "S" * 256)
        stored_value_d, size_d = self.cache_store.store_value('d', 3.14)
        self.stored_value_a = stored_value_a
        self.stored_value_b = stored_value_b
        self.stored_value_c = stored_value_c
        self.stored_value_d = stored_value_d
        self.assertEqual(size_a, 28)
        self.assertEqual(size_b, 28)
        self.assertEqual(size_c, 305)
        self.assertEqual(size_d, 24)

    def test_store_value(self):
        self.assertEqual(self.stored_value_a, ['a', 42])
        self.assertEqual(self.stored_value_b, ['b', True])
        self.assertEqual(self.stored_value_c, ['c', "S" * 256])
        self.assertEqual(self.stored_value_d, ['d', 3.14])

    def test_restore_value(self):
        self.assertEqual(
            self.cache_store.restore_value('a', self.stored_value_a), 42)
        self.assertEqual(
            self.cache_store.restore_value('b', self.stored_value_b), True)
        with self.assertRaises(ValueError):
            self.cache_store.restore_value('e', self.stored_value_b)

    def test_discard_value(self):
        self.cache_store.discard_value('a', self.stored_value_a)
        self.cache_store.discard_value('b', self.stored_value_b)
        self.assertEqual(
            self.cache_store.restore_value('a', self.stored_value_a), None)
        self.assertEqual(
            self.cache_store.restore_value('b', self.stored_value_b), None)
        with self.assertRaises(ValueError):
            self.cache_store.discard_value('e', self.stored_value_b)