def setUp(self): self.merge_triples = ( ( distribution.create_exponential(3, 2, 0.1), distribution.create_exponential(3, 2, 0.1), distribution.create_exponential(4, 2, 0.1), ),( distribution.create_linear(3, 0.2, 0.1), distribution.create_linear(3, 0.2, 0.1), distribution.create_linear(4, 0.2, 0.1) ),( distribution.create_explicit([0.1, 0.3]), distribution.create_explicit([0.1, 0.3]), distribution.create_explicit([0.1, 0.3, 0.5]), ) ) for d1, d2, _ in self.merge_triples: distribution.add_sample(_LOW_SAMPLE, d1) distribution.add_sample(_HIGH_SAMPLE, d2)
def _make_exponential_dist(): return distribution.create_exponential(3, 2, 0.1)
def test_should_succeed_if_inputs_are_ok(self): num_finite_buckets = 1 got = distribution.create_exponential(num_finite_buckets, 1.1, 0.1) expect(len(got.bucketCounts)).to(equal(num_finite_buckets + 2))
def test_should_fail_if_scale_is_bad(self): testf = lambda: distribution.create_exponential(1, 1.1, -0.1) expect(testf).to(raise_error(ValueError))
def test_should_fail_if_growth_factor_is_bad(self): testf = lambda: distribution.create_exponential(1, 0.9, 0.1) expect(testf).to(raise_error(ValueError))
def test_should_fail_if_num_finite_buckets_is_bad(self): testf = lambda: distribution.create_exponential(0, 1.1, 0.1) expect(testf).to(raise_error(ValueError))
def _wanted_distribution_with_sample(value, *args): d = distribution.create_exponential(*args) distribution.add_sample(value, d) return d
def _wanted_distribution_with_sample(value, *args): d = distribution.create_exponential(*args) distribution.add_sample(value, d) return d