From 56c5ba37c270c5e2f02932f7c21a1edfe1f4d461 Mon Sep 17 00:00:00 2001 From: Matt Roeschke Date: Sat, 17 Dec 2016 21:06:30 -0800 Subject: [PATCH] TST: Test timedelta arithmetic (#9396) --- pandas/tseries/tests/test_timedeltas.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pandas/tseries/tests/test_timedeltas.py b/pandas/tseries/tests/test_timedeltas.py index fc95b17b9b52d..1d07b4ab39a99 100644 --- a/pandas/tseries/tests/test_timedeltas.py +++ b/pandas/tseries/tests/test_timedeltas.py @@ -1203,6 +1203,28 @@ def test_implementation_limits(self): with tm.assertRaises(OverflowError): Timedelta(max_td.value + 1, 'ns') + def test_timedelta_arithmetic(self): + data = pd.Series(['nat', '32 days'], dtype='timedelta64[ns]') + deltas = [timedelta(days=1), Timedelta(1, unit='D')] + for delta in deltas: + result_method = data.add(delta) + result_operator = data + delta + expected = pd.Series(['nat', '33 days'], dtype='timedelta64[ns]') + tm.assert_series_equal(result_operator, expected) + tm.assert_series_equal(result_method, expected) + + result_method = data.sub(delta) + result_operator = data - delta + expected = pd.Series(['nat', '31 days'], dtype='timedelta64[ns]') + tm.assert_series_equal(result_operator, expected) + tm.assert_series_equal(result_method, expected) + # GH 9396 + result_method = data.div(delta) + result_operator = data / delta + expected = pd.Series([np.nan, 32.], dtype='float64') + tm.assert_series_equal(result_operator, expected) + tm.assert_series_equal(result_method, expected) + class TestTimedeltaIndex(tm.TestCase): _multiprocess_can_split_ = True