summaryrefslogtreecommitdiff
path: root/numpy/testing
diff options
context:
space:
mode:
authorJonathan Tammo Siebert <siebertjonathan@aim.com>2016-12-19 07:27:21 +0100
committerJonathan Siebert <siebertjonathan@aim.com>2017-01-04 22:36:47 +0100
commit617707ec85f2ee59e618bce78d9751414c93d6cb (patch)
tree0f24ebca2713f846337608d2df012ecfed71eba2 /numpy/testing
parentb94c2b01ff7ef5b8dc44726512cfa232e9054882 (diff)
downloadnumpy-617707ec85f2ee59e618bce78d9751414c93d6cb.tar.gz
TST: Added unit tests for assert_array_less
Added tests for simple arrays/elements, tests that ensure that nans are not compared when they are in the same position in both arrays but raise AssertionError when they are not, and tests that ensure inf logic (-np.inf < np.inf, 1.0 < np.inf, -np.inf < 1.0) and that all other cases fail.
Diffstat (limited to 'numpy/testing')
-rw-r--r--numpy/testing/tests/test_utils.py140
1 files changed, 140 insertions, 0 deletions
diff --git a/numpy/testing/tests/test_utils.py b/numpy/testing/tests/test_utils.py
index 474a7edd5..bcbb9e2a8 100644
--- a/numpy/testing/tests/test_utils.py
+++ b/numpy/testing/tests/test_utils.py
@@ -432,6 +432,146 @@ class TestApproxEqual(unittest.TestCase):
lambda: self._assert_func(ainf, anan))
+class TestArrayAssertLess(unittest.TestCase):
+
+ def setUp(self):
+ self._assert_func = assert_array_less
+
+ def test_simple_arrays(self):
+ x = np.array([1.1, 2.2])
+ y = np.array([1.2, 2.3])
+
+ self._assert_func(x, y)
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(y, x))
+
+ y = np.array([1.0, 2.3])
+
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(x, y))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(y, x))
+
+ def test_rank2(self):
+ x = np.array([[1.1, 2.2], [3.3, 4.4]])
+ y = np.array([[1.2, 2.3], [3.4, 4.5]])
+
+ self._assert_func(x, y)
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(y, x))
+
+ y = np.array([[1.0, 2.3], [3.4, 4.5]])
+
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(x, y))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(y, x))
+
+ def test_rank3(self):
+ x = np.ones(shape=(2, 2, 2))
+ y = np.ones(shape=(2, 2, 2))+1
+
+ self._assert_func(x, y)
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(y, x))
+
+ y[0, 0, 0] = 0
+
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(x, y))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(y, x))
+
+ def test_simple_items(self):
+ x = 1.1
+ y = 2.2
+
+ self._assert_func(x, y)
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(y, x))
+
+ y = np.array([2.2, 3.3])
+
+ self._assert_func(x, y)
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(y, x))
+
+ y = np.array([1.0, 3.3])
+
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(x, y))
+
+ def test_nan_noncompare(self):
+ anan = np.array(np.nan)
+ aone = np.array(1)
+ ainf = np.array(np.inf)
+ self._assert_func(anan, anan)
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(aone, anan))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(anan, aone))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(anan, ainf))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(ainf, anan))
+
+ def test_nan_noncompare_array(self):
+ x = np.array([1.1, 2.2, 3.3])
+ anan = np.array(np.nan)
+
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(x, anan))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(anan, x))
+
+ x = np.array([1.1, 2.2, np.nan])
+
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(x, anan))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(anan, x))
+
+ y = np.array([1.0, 2.0, np.nan])
+
+ self._assert_func(y, x)
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(x, y))
+
+ def test_inf_compare(self):
+ aone = np.array(1)
+ ainf = np.array(np.inf)
+
+ self._assert_func(aone, ainf)
+ self._assert_func(-ainf, aone)
+ self._assert_func(-ainf, ainf)
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(ainf, aone))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(aone, -ainf))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(ainf, ainf))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(ainf, -ainf))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(-ainf, -ainf))
+
+ def test_inf_compare_array(self):
+ x = np.array([1.1, 2.2, np.inf])
+ ainf = np.array(np.inf)
+
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(x, ainf))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(ainf, x))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(x, -ainf))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(-x, -ainf))
+ self.assertRaises(AssertionError,
+ lambda: self._assert_func(-ainf, -x))
+ self._assert_func(-ainf, x)
+
+
class TestRaises(unittest.TestCase):
def setUp(self):