Exemple #1
0
 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)
Exemple #2
0
    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,
        )
Exemple #3
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)
Exemple #4
0
 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)
Exemple #5
0
 def test_copying_empty(self):
     """test copying empty stores"""
     store = CollapsingLowestDenseStore(10)
     store.copy(CollapsingLowestDenseStore(10))
     self.assertEqual(store.count, 0)