diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2018-06-07 14:03:39 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-07 14:03:39 -0600 |
commit | 5cbb982c8525d4f32a3e3cd5a766fab8a6331220 (patch) | |
tree | dd21749b30a73ea8f1960d1a8fef227622401fe1 /numpy/testing/tests/test_utils.py | |
parent | 41d306a5497e00c345c22fe7c3f0555732fab3bf (diff) | |
parent | 3ad49aaaf497c6daadb9b66f295f58a315476e01 (diff) | |
download | numpy-5cbb982c8525d4f32a3e3cd5a766fab8a6331220.tar.gz |
Merge pull request #11122 from mhvk/assert-array-comparison-with-masked
BUG,MAINT: Ensure masked elements can be tested against nan and inf.
Diffstat (limited to 'numpy/testing/tests/test_utils.py')
-rw-r--r-- | numpy/testing/tests/test_utils.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/numpy/testing/tests/test_utils.py b/numpy/testing/tests/test_utils.py index 602cdf5f2..465c217d4 100644 --- a/numpy/testing/tests/test_utils.py +++ b/numpy/testing/tests/test_utils.py @@ -151,6 +151,17 @@ class TestArrayEqual(_GenericTest): self._test_not_equal(c, b) assert_equal(len(l), 1) + def test_masked_nan_inf(self): + # Regression test for gh-11121 + a = np.ma.MaskedArray([3., 4., 6.5], mask=[False, True, False]) + b = np.array([3., np.nan, 6.5]) + self._test_equal(a, b) + self._test_equal(b, a) + a = np.ma.MaskedArray([3., 4., 6.5], mask=[True, False, False]) + b = np.array([np.inf, 4., 6.5]) + self._test_equal(a, b) + self._test_equal(b, a) + class TestBuildErrorMessage(object): @@ -390,6 +401,9 @@ class TestArrayAlmostEqual(_GenericTest): # comparison operators, not on them being able to store booleans # (which, e.g., astropy Quantity cannot usefully do). See gh-8452. class MyArray(np.ndarray): + def __eq__(self, other): + return super(MyArray, self).__eq__(other).view(np.ndarray) + def __lt__(self, other): return super(MyArray, self).__lt__(other).view(np.ndarray) @@ -489,6 +503,9 @@ class TestAlmostEqual(_GenericTest): # comparison operators, not on them being able to store booleans # (which, e.g., astropy Quantity cannot usefully do). See gh-8452. class MyArray(np.ndarray): + def __eq__(self, other): + return super(MyArray, self).__eq__(other).view(np.ndarray) + def __lt__(self, other): return super(MyArray, self).__lt__(other).view(np.ndarray) @@ -650,6 +667,7 @@ class TestArrayAssertLess(object): assert_raises(AssertionError, lambda: self._assert_func(-ainf, -x)) self._assert_func(-ainf, x) + @pytest.mark.skip(reason="The raises decorator depends on Nose") class TestRaises(object): |