8000 BUG: special case object arrays when printing rel-, abs-error · numpy/numpy@6a2ef00 · GitHub
[go: up one dir, main page]

Skip to content

Commit 6a2ef00

Browse files
mattipcharris
authored andcommitted
BUG: special case object arrays when printing rel-, abs-error
1 parent 3fb956e commit 6a2ef00

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

numpy/testing/_private/utils.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -801,14 +801,22 @@ def func_assert_same_pos(x, y, func=isnan, hasval='nan'):
801801
try:
802802
error = abs(x - y)
803803
max_abs_error = error.max()
804-
remarks.append('Max absolute difference: '
805-
+ array2string(max_abs_error))
804+
if error.dtype == 'object':
805+
remarks.append('Max absolute difference: '
806+
+ str(max_abs_error))
807+
else:
808+
remarks.append('Max absolute difference: '
809+
+ array2string(max_abs_error))
806810

807811
# note: this definition of relative error matches that one
808812
# used by assert_allclose (found in np.isclose)
809813
max_rel_error = (error / abs(y)).max()
810-
remarks.append('Max relative difference: '
811-
+ array2string(max_rel_error))
814+
if error.dtype == 'object':
815+
remarks.append('Max relative difference: '
816+
+ str(max_rel_error))
817+
else:
818+
remarks.append('Max relative difference: '
819+
+ array2string(max_rel_error))
812820
except TypeError:
813821
pass
814822

numpy/testing/tests/test_utils.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,13 @@ def test_error_message(self):
344344
except AssertionError:
345345
assert_equal(msg2, msg_reference< 75B7 /span>)
346346

347+
def test_object(self):
348+
#gh-12942
349+
import datetime
350+
a = np.array([datetime.datetime(2000, 1, 1),
351+
datetime.datetime(2000, 1, 2)])
352+
self._test_not_equal(a, a[::-1])
353+
347354

348355
class TestArrayAlmostEqual(_GenericTest):
349356

0 commit comments

Comments
 (0)
0