def test_store(): 'It test the store for iterables' item_list = [1, 3, 4] storage = CachedArray(typecode='I') storage.extend(item_list) assert list(storage) == item_list assert list(storage) == item_list
def test_basic_statistics(): 'It test the max, min avg, etc.' item_list = [1, 2, 3] storage = CachedArray(typecode='I') storage.extend(item_list) assert storage.max == max(item_list) assert storage.min == min(item_list) assert storage.average == 2 assert len(storage) == len(item_list)
def test_store_to_disk(): 'It test the store for iterables saving to disk' item_list = [1, 2, 3] item_list2 = [4, 5, 6] storage = CachedArray(typecode='I') storage.extend(item_list) storage.to_disk() storage.extend(item_list2) assert list(storage) == [1, 2, 3, 4, 5, 6]
def test_sample(): 'It tests the random sample' storage = CachedArray(typecode='I') storage.extend([0] * 10000) storage.extend([1] * 10000) storage.extend([2] * 10000) count = {} for item in storage.sample: try: count[item] += 1 except KeyError: count[item] = 1 len_sample = len(storage.sample) assert len_sample == storage.sample_length assert count[1] / (len_sample * 1.0) - 1/3.0 < 0.05 assert storage.get_sample_percentiles([5, 95]) == [0, 2]
def test_basic_distribution(self): 'It tests the distribution' summary_fhand = StringIO() distrib_fhand = StringIO() numbers = CachedArray(typecode='I') numbers.extend([1, 2, 3, 4, 5, 6, 7, 8, 9, 101, 2, 3, 4, 5, 6, 7, 8, 9]) create_distribution(numbers, distrib_fhand=distrib_fhand, summary_fhand=summary_fhand) result = '''Statistics for histogram ------------------------- minimum: 1 maximum: 101 average: 10.5556 variance: 486.9136 sum: 190 items: 18''' assert result in summary_fhand.getvalue()