def test_copying_non_empty(self): """test copying stores""" store = CollapsingLowestDenseStore(10) new_store = CollapsingLowestDenseStore(10) new_store.add(0) store.copy(new_store) self.assertEqual(store.count, 1)
def __init__(self, relative_accuracy=None, bin_limit=None): # Make sure the parameters are valid if relative_accuracy is None: relative_accuracy = DEFAULT_REL_ACC if bin_limit is None or bin_limit < 0: bin_limit = DEFAULT_BIN_LIMIT mapping = LogarithmicMapping(relative_accuracy) store = CollapsingLowestDenseStore(bin_limit) negative_store = CollapsingLowestDenseStore(bin_limit) super().__init__( mapping=mapping, store=store, negative_store=negative_store, zero_count=0, )
def _test_merging(self, list_values): for bin_limit in TEST_BIN_LIMIT: store = CollapsingLowestDenseStore(bin_limit) for values in list_values: intermediate_store = CollapsingLowestDenseStore(bin_limit) for val in values: intermediate_store.add(val) store.merge(intermediate_store) flat_values = [v for values in list_values for v in values] self._test_values(store, flat_values)
def _test_store(self, values): for bin_limit in TEST_BIN_LIMIT: store = CollapsingLowestDenseStore(bin_limit) for val in values: store.add(val) self._test_values(store, values)
def test_copying_empty(self): """test copying empty stores""" store = CollapsingLowestDenseStore(10) store.copy(CollapsingLowestDenseStore(10)) self.assertEqual(store.count, 0)