diff --git a/nc_time_axis/__init__.py b/nc_time_axis/__init__.py index 0d60ed4..e6379bd 100644 --- a/nc_time_axis/__init__.py +++ b/nc_time_axis/__init__.py @@ -360,16 +360,15 @@ def convert(cls, value, unit, axis): "`cftime.datetime`." ) - if isinstance(value, (CalendarDateTime, cftime.datetime)): - value = [value] - if isinstance(first_value, CalendarDateTime): - value = [v.datetime for v in value] + if isinstance(value, np.ndarray): + value = [v.datetime for v in value] + else: + value = value.datetime result = cftime.date2num( value, cls.standard_unit, calendar=first_value.calendar ) - print(result) if shape is not None: result = result.reshape(shape) diff --git a/nc_time_axis/tests/unit/test_NetCDFTimeConverter.py b/nc_time_axis/tests/unit/test_NetCDFTimeConverter.py index 5610aa3..7070204 100644 --- a/nc_time_axis/tests/unit/test_NetCDFTimeConverter.py +++ b/nc_time_axis/tests/unit/test_NetCDFTimeConverter.py @@ -116,12 +116,16 @@ def test_numeric_iterable(self): def test_cftime_CalendarDateTime(self): val = CalendarDateTime(cftime.datetime(2014, 8, 12), "365_day") result = NetCDFTimeConverter().convert(val, None, None) - np.testing.assert_array_equal(result, 5333.0) + expected = 5333.0 + assert result == expected + assert np.isscalar(result) def test_cftime_raw_date(self): val = cftime.DatetimeNoLeap(2014, 8, 12) result = NetCDFTimeConverter().convert(val, None, None) - np.testing.assert_array_equal(result, 5333.0) + expected = 5333.0 + assert result == expected + assert np.isscalar(result) def test_cftime_np_array_CalendarDateTime(self): val = np.array(