def test_sample_low_mem(self): 'We can sample an iterator' length_ = 100 items = range(length_) num_sampled_items = 10 for num_sampled_items in (10, 90): sampled_items = list(sample_low_mem(items, length_, num_sampled_items)) self.check_sampled_items(items, sampled_items, num_sampled_items)
def test_sample_too_much(self): for items in [range(10), []]: try: list(sample_low_mem(items, 10, 20)) self.fail('Sample size error expected') except SampleSizeError: pass try: list(sample(items, 20)) self.fail('Sample size error expected') except SampleSizeError: pass try: list(sample(items, 20, in_disk=True)) self.fail('Sample size error expected') except SampleSizeError: pass