summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_random.py
diff options
context:
space:
mode:
authorMark Dickinson <dickinsm@gmail.com>2013-02-10 14:16:56 (GMT)
committerMark Dickinson <dickinsm@gmail.com>2013-02-10 14:16:56 (GMT)
commit6427358501ac5b5a33b1c0543b46f6d378cea7e3 (patch)
treec9f09918209cea1c7331ca9d2b24c000875f16e0 /Lib/test/test_random.py
parentbf95c143a29aa73eed91b630849432f1ff43d602 (diff)
parentbe5f91957f3d553a7cbbfdc43f66a3b30bb97aec (diff)
downloadcpython-6427358501ac5b5a33b1c0543b46f6d378cea7e3.zip
cpython-6427358501ac5b5a33b1c0543b46f6d378cea7e3.tar.gz
cpython-6427358501ac5b5a33b1c0543b46f6d378cea7e3.tar.bz2
Issue #17149: merge fix from 3.2.
Diffstat (limited to 'Lib/test/test_random.py')
-rw-r--r--Lib/test/test_random.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py
index b5931ba..b176ea1 100644
--- a/Lib/test/test_random.py
+++ b/Lib/test/test_random.py
@@ -479,6 +479,20 @@ class TestDistributions(unittest.TestCase):
self.assertAlmostEqual(s1/N, mu, places=2)
self.assertAlmostEqual(s2/(N-1), sigmasqrd, places=2)
+ def test_von_mises_range(self):
+ # Issue 17149: von mises variates were not consistently in the
+ # range [0, 2*PI].
+ g = random.Random()
+ N = 100
+ for mu in 0.0, 0.1, 3.1, 6.2:
+ for kappa in 0.0, 2.3, 500.0:
+ for _ in range(N):
+ sample = g.vonmisesvariate(mu, kappa)
+ self.assertTrue(
+ 0 <= sample <= random.TWOPI,
+ msg=("vonmisesvariate({}, {}) produced a result {} out"
+ " of range [0, 2*pi]").format(mu, kappa, sample))
+
class TestModule(unittest.TestCase):
def testMagicConstants(self):
self.assertAlmostEqual(random.NV_MAGICCONST, 1.71552776992141)