diff options
author | Raymond Hettinger <python@rcn.com> | 2016-10-30 00:42:36 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2016-10-30 00:42:36 (GMT) |
commit | 77d574d4aeae4b7b9b976a68b367783a0932b6c8 (patch) | |
tree | 049ed86c42e205a2f0dcca11f6344e929b0a184e /Lib/test/test_random.py | |
parent | 30d00e54dde47b11f5b338aaba17760b641e1705 (diff) | |
download | cpython-77d574d4aeae4b7b9b976a68b367783a0932b6c8.zip cpython-77d574d4aeae4b7b9b976a68b367783a0932b6c8.tar.gz cpython-77d574d4aeae4b7b9b976a68b367783a0932b6c8.tar.bz2 |
Issue #18844: Strengthen tests to include a case with unequal weighting
Diffstat (limited to 'Lib/test/test_random.py')
-rw-r--r-- | Lib/test/test_random.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py index dd27152..a4413b5 100644 --- a/Lib/test/test_random.py +++ b/Lib/test/test_random.py @@ -645,6 +645,23 @@ class MersenneTwister_TestBasicOps(TestBasicOps, unittest.TestCase): c = self.gen.choices(range(n), cum_weights=range(1, n+1), k=10000) self.assertEqual(a, c) + # Amerian Roulette + population = ['Red', 'Black', 'Green'] + weights = [18, 18, 2] + cum_weights = [18, 36, 38] + expanded_population = ['Red'] * 18 + ['Black'] * 18 + ['Green'] * 2 + + self.gen.seed(9035768) + a = self.gen.choices(expanded_population, k=10000) + + self.gen.seed(9035768) + b = self.gen.choices(population, weights, k=10000) + self.assertEqual(a, b) + + self.gen.seed(9035768) + c = self.gen.choices(population, cum_weights=cum_weights, k=10000) + self.assertEqual(a, c) + def gamma(z, sqrt2pi=(2.0*pi)**0.5): # Reflection to right half of complex plane if z < 0.5: |