From 506dfa99e09bf649413d2ea9896c8f0e665d0669 Mon Sep 17 00:00:00 2001 From: Martin Yeo Date: Tue, 17 Dec 2024 09:57:45 +0000 Subject: [PATCH] Further test improvements. --- .../tests/unit/common/metadata/test_microsecond_future.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/iris/tests/unit/common/metadata/test_microsecond_future.py b/lib/iris/tests/unit/common/metadata/test_microsecond_future.py index e37d08feb4..b86ebf06d4 100644 --- a/lib/iris/tests/unit/common/metadata/test_microsecond_future.py +++ b/lib/iris/tests/unit/common/metadata/test_microsecond_future.py @@ -81,7 +81,8 @@ def test_num2date(time_coord, future_date_microseconds, indexing): if not future_date_microseconds or cf_units_legacy: expected_microseconds = 0 - assert all(r.microsecond == expected_microseconds for r in result) + result_microseconds = np.array([r.microsecond for r in result]) + assert_array_equal(result_microseconds, expected_microseconds) def test_roundup(time_coord, future_date_microseconds): @@ -89,7 +90,8 @@ def test_roundup(time_coord, future_date_microseconds): result = coord.units.num2date(coord.points) expected_seconds = np.floor(coord.points) - if n_microseconds >= 500000 and not future_date_microseconds: + if n_microseconds >= 500000 and (not future_date_microseconds or cf_units_legacy): + # Legacy cf-units versions round microseconds and ignore the future flag. expected_seconds += 1 result_seconds = np.array([r.second for r in result])