From 209ff1a0a1807925dc5482f4af39bff435e78436 Mon Sep 17 00:00:00 2001 From: Ben Walsh Date: Tue, 12 Jul 2011 15:25:13 +0100 Subject: [PATCH] Added some more tests for array_find_type. --- numpy/core/tests/test_datetime.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/numpy/core/tests/test_datetime.py b/numpy/core/tests/test_datetime.py index 271a5dea9785..2770364f0414 100644 --- a/numpy/core/tests/test_datetime.py +++ b/numpy/core/tests/test_datetime.py @@ -169,6 +169,36 @@ def test_datetime_scalar_construction(self): assert_raises(TypeError, np.datetime64, datetime.datetime(1920,4,14,13,20), 'D') + def test_datetime_array_find_type(self): + dt = np.datetime64('1970-01-01', 'M') + arr = np.array([dt]) + assert_equal(arr.dtype, np.dtype('M8[M]')) + + # at the moment, we don't automatically convert these to datetime64 + + dt = datetime.date(1970, 1, 1) + arr = np.array([dt]) + assert_equal(arr.dtype, np.dtype('O')) + + dt = datetime.datetime(1970, 1, 1, 12, 30, 40) + arr = np.array([dt]) + assert_equal(arr.dtype, np.dtype('O')) + + # find "supertype" for non-dates and dates + + b = np.bool_(True) + dt = np.datetime64('1970-01-01', 'M') + arr = np.array([b, dt]) + assert_equal(arr.dtype, np.dtype('O')) + + dt = datetime.date(1970, 1, 1) + arr = np.array([b, dt]) + assert_equal(arr.dtype, np.dtype('O')) + + dt = datetime.datetime(1970, 1, 1, 12, 30, 40) + arr = np.array([b, dt]) + assert_equal(arr.dtype, np.dtype('O')) + def test_timedelta_scalar_construction(self): # Construct with different units assert_equal(np.timedelta64(7, 'D'),