diff options
Diffstat (limited to 'tests/interval/test_add_subtract.py')
-rw-r--r-- | tests/interval/test_add_subtract.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/interval/test_add_subtract.py b/tests/interval/test_add_subtract.py new file mode 100644 index 0000000..88525a3 --- /dev/null +++ b/tests/interval/test_add_subtract.py @@ -0,0 +1,49 @@ +from __future__ import annotations + +import pendulum + + +def test_dst_add(): + start = pendulum.datetime(2017, 3, 7, tz="America/Toronto") + end = start.add(days=6) + period = end - start + new_end = start + period + + assert new_end == end + + +def test_dst_add_non_variable_units(): + start = pendulum.datetime(2013, 3, 31, 1, 30, tz="Europe/Paris") + end = start.add(hours=1) + period = end - start + new_end = start + period + + assert new_end == end + + +def test_dst_subtract(): + start = pendulum.datetime(2017, 3, 7, tz="America/Toronto") + end = start.add(days=6) + period = end - start + new_start = end - period + + assert new_start == start + + +def test_naive_subtract(): + start = pendulum.naive(2013, 3, 31, 1, 30) + end = start.add(hours=1) + period = end - start + new_end = start + period + + assert new_end == end + + +def test_negative_difference_subtract(): + start = pendulum.datetime(2018, 5, 28, 12, 34, 56, 123456) + end = pendulum.datetime(2018, 1, 1) + + period = end - start + new_end = start + period + + assert new_end == end |