diff options
author | mattip <matti.picus@gmail.com> | 2019-05-27 20:17:52 +0300 |
---|---|---|
committer | mattip <matti.picus@gmail.com> | 2019-05-27 20:50:29 +0300 |
commit | 0d3d1b172b7f4c4775cd12138ec56edfac8a6dc2 (patch) | |
tree | 05f0330a74d66d5c3825bfeddbfcab1062e32506 /numpy/testing | |
parent | c976a9a44c08acf153723392906811d55294b8b4 (diff) | |
download | numpy-0d3d1b172b7f4c4775cd12138ec56edfac8a6dc2.tar.gz |
BUG: special case object arrays when printing rel-, abs-error
Diffstat (limited to 'numpy/testing')
-rw-r--r-- | numpy/testing/_private/utils.py | 16 | ||||
-rw-r--r-- | numpy/testing/tests/test_utils.py | 7 |
2 files changed, 19 insertions, 4 deletions
diff --git a/numpy/testing/_private/utils.py b/numpy/testing/_private/utils.py index ee8eac9e8..53181bc49 100644 --- a/numpy/testing/_private/utils.py +++ b/numpy/testing/_private/utils.py @@ -812,14 +812,22 @@ def assert_array_compare(comparison, x, y, err_msg='', verbose=True, with contextlib.suppress(TypeError): error = abs(x - y) max_abs_error = error.max() - remarks.append('Max absolute difference: ' - + array2string(max_abs_error)) + if error.dtype == 'object': + remarks.append('Max absolute difference: ' + + str(max_abs_error)) + else: + remarks.append('Max absolute difference: ' + + array2string(max_abs_error)) # note: this definition of relative error matches that one # used by assert_allclose (found in np.isclose) max_rel_error = (error / abs(y)).max() - remarks.append('Max relative difference: ' - + array2string(max_rel_error)) + if error.dtype == 'object': + remarks.append('Max relative difference: ' + + str(max_rel_error)) + else: + remarks.append('Max relative difference: ' + + array2string(max_rel_error)) err_msg += '\n' + '\n'.join(remarks) msg = build_err_msg([ox, oy], err_msg, diff --git a/numpy/testing/tests/test_utils.py b/numpy/testing/tests/test_utils.py index 643d143ee..4247b6589 100644 --- a/numpy/testing/tests/test_utils.py +++ b/numpy/testing/tests/test_utils.py @@ -343,6 +343,13 @@ class TestEqual(TestArrayEqual): except AssertionError: assert_equal(msg2, msg_reference) + def test_object(self): + #gh-12942 + import datetime + a = np.array([datetime.datetime(2000, 1, 1), + datetime.datetime(2000, 1, 2)]) + self._test_not_equal(a, a[::-1]) + class TestArrayAlmostEqual(_GenericTest): |