summaryrefslogtreecommitdiff
path: root/numpy/random/tests
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2011-01-24 15:12:25 -0700
committerCharles Harris <charlesr.harris@gmail.com>2011-01-24 15:23:49 -0700
commit4f5ff257c8edc320d1415dc329c51d0ea87c0ddc (patch)
tree03b426fe3a5d53d5d38f36c77612a1ac468deae5 /numpy/random/tests
parentbb97750c93ede73d81a9632de01dda0f9bce5b41 (diff)
downloadnumpy-4f5ff257c8edc320d1415dc329c51d0ea87c0ddc.tar.gz
ENH: Break out regression tests into separate file and explicitly import needed
functions from np.testing.
Diffstat (limited to 'numpy/random/tests')
-rw-r--r--numpy/random/tests/test_random.py50
-rw-r--r--numpy/random/tests/test_regression.py57
2 files changed, 58 insertions, 49 deletions
diff --git a/numpy/random/tests/test_random.py b/numpy/random/tests/test_random.py
index 84ecbe383..82216f135 100644
--- a/numpy/random/tests/test_random.py
+++ b/numpy/random/tests/test_random.py
@@ -1,54 +1,7 @@
-from numpy.testing import *
+from numpy.testing import TestCase, run_module_suite, assert_
from numpy import random
import numpy as np
-class TestRegression(TestCase):
-
- def test_VonMises_range(self):
- """Make sure generated random variables are in [-pi, pi].
-
- Regression test for ticket #986.
- """
- for mu in np.linspace(-7., 7., 5):
- r = random.mtrand.vonmises(mu,1,50)
- assert_(np.all(r > -np.pi) and np.all(r <= np.pi))
-
- def test_hypergeometric_range(self) :
- """Test for ticket #921"""
- assert_(np.all(np.random.hypergeometric(3, 18, 11, size=10) < 4))
- assert_(np.all(np.random.hypergeometric(18, 3, 11, size=10) > 0))
-
- def test_logseries_convergence(self) :
- """Test for ticket #923"""
- N = 1000
- np.random.seed(0)
- rvsn = np.random.logseries(0.8, size=N)
- # these two frequency counts should be close to theoretical
- # numbers with this large sample
- # theoretical large N result is 0.49706795
- freq = np.sum(rvsn == 1) / float(N)
- msg = "Frequency was %f, should be > 0.45" % freq
- assert_(freq > 0.45, msg)
- # theoretical large N result is 0.19882718
- freq = np.sum(rvsn == 2) / float(N)
- msg = "Frequency was %f, should be < 0.23" % freq
- assert_(freq < 0.23, msg)
-
- def test_permutation_longs(self):
- np.random.seed(1234)
- a = np.random.permutation(12)
- np.random.seed(1234)
- b = np.random.permutation(12L)
- assert_array_equal(a, b)
-
- def test_hypergeometric_range(self) :
- """Test for ticket #1690"""
- lmax = np.iinfo('l').max
- lmin = np.iinfo('l').min
- try:
- random.randint(lmin, lmax)
- except:
- raise AssertionError
class TestMultinomial(TestCase):
def test_basic(self):
@@ -64,7 +17,6 @@ class TestMultinomial(TestCase):
assert_(np.all(x < -1))
-
class TestSetState(TestCase):
def setUp(self):
self.seed = 1234567890
diff --git a/numpy/random/tests/test_regression.py b/numpy/random/tests/test_regression.py
new file mode 100644
index 000000000..f5039c09a
--- /dev/null
+++ b/numpy/random/tests/test_regression.py
@@ -0,0 +1,57 @@
+from numpy.testing import TestCase, run_module_suite, assert_,\
+ assert_array_equal
+from numpy import random
+import numpy as np
+
+
+class TestRegression(TestCase):
+
+ def test_VonMises_range(self):
+ """Make sure generated random variables are in [-pi, pi].
+
+ Regression test for ticket #986.
+ """
+ for mu in np.linspace(-7., 7., 5):
+ r = random.mtrand.vonmises(mu,1,50)
+ assert_(np.all(r > -np.pi) and np.all(r <= np.pi))
+
+ def test_hypergeometric_range(self) :
+ """Test for ticket #921"""
+ assert_(np.all(np.random.hypergeometric(3, 18, 11, size=10) < 4))
+ assert_(np.all(np.random.hypergeometric(18, 3, 11, size=10) > 0))
+
+ def test_logseries_convergence(self) :
+ """Test for ticket #923"""
+ N = 1000
+ np.random.seed(0)
+ rvsn = np.random.logseries(0.8, size=N)
+ # these two frequency counts should be close to theoretical
+ # numbers with this large sample
+ # theoretical large N result is 0.49706795
+ freq = np.sum(rvsn == 1) / float(N)
+ msg = "Frequency was %f, should be > 0.45" % freq
+ assert_(freq > 0.45, msg)
+ # theoretical large N result is 0.19882718
+ freq = np.sum(rvsn == 2) / float(N)
+ msg = "Frequency was %f, should be < 0.23" % freq
+ assert_(freq < 0.23, msg)
+
+ def test_permutation_longs(self):
+ np.random.seed(1234)
+ a = np.random.permutation(12)
+ np.random.seed(1234)
+ b = np.random.permutation(12L)
+ assert_array_equal(a, b)
+
+ def test_hypergeometric_range(self) :
+ """Test for ticket #1690"""
+ lmax = np.iinfo('l').max
+ lmin = np.iinfo('l').min
+ try:
+ random.randint(lmin, lmax)
+ except:
+ raise AssertionError
+
+
+if __name__ == "__main__":
+ run_module_suite()