summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
authorJulian Taylor <jtaylor.debian@googlemail.com>2014-09-05 00:17:28 +0200
committerJulian Taylor <jtaylor.debian@googlemail.com>2014-09-05 00:19:04 +0200
commitdfc567790badcc87822a39f5c35f0dd78b8c1599 (patch)
treeaf73509cc29fabf4f824cb80b9cf47b0e5c3f75a /numpy
parentb8aedd0e69e862a74cba896bb0dbb1d2748c4edf (diff)
downloadnumpy-dfc567790badcc87822a39f5c35f0dd78b8c1599.tar.gz
BUG: fix array_almost_equal for array subclasses
introduced in gh-4105/ab04e1ae0e8eca717bc7e42f3b0a60c9ff764289
Diffstat (limited to 'numpy')
-rw-r--r--numpy/testing/tests/test_utils.py8
-rw-r--r--numpy/testing/utils.py2
2 files changed, 9 insertions, 1 deletions
diff --git a/numpy/testing/tests/test_utils.py b/numpy/testing/tests/test_utils.py
index aa0a2669f..41a48ea65 100644
--- a/numpy/testing/tests/test_utils.py
+++ b/numpy/testing/tests/test_utils.py
@@ -244,6 +244,14 @@ class TestArrayAlmostEqual(_GenericTest, unittest.TestCase):
self.assertRaises(AssertionError,
lambda : self._assert_func(a, b))
+ def test_subclass(self):
+ a = np.array([[1., 2.], [3., 4.]])
+ b = np.ma.masked_array([[1., 2.], [0., 4.]],
+ [[False, False], [True, False]])
+ assert_array_almost_equal(a, b)
+ assert_array_almost_equal(b, a)
+ assert_array_almost_equal(b, b)
+
class TestAlmostEqual(_GenericTest, unittest.TestCase):
def setUp(self):
self._assert_func = assert_almost_equal
diff --git a/numpy/testing/utils.py b/numpy/testing/utils.py
index ddf21e2bc..f83c9ea51 100644
--- a/numpy/testing/utils.py
+++ b/numpy/testing/utils.py
@@ -823,7 +823,7 @@ def assert_array_almost_equal(x, y, decimal=6, err_msg='', verbose=True):
# make sure y is an inexact type to avoid abs(MIN_INT); will cause
# casting of x later.
dtype = result_type(y, 1.)
- y = array(y, dtype=dtype, copy=False)
+ y = array(y, dtype=dtype, copy=False, subok=True)
z = abs(x-y)
if not issubdtype(z.dtype, number):