summaryrefslogtreecommitdiffstats
path: root/tests/period/test_add_subtract.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/period/test_add_subtract.py')
-rw-r--r--tests/period/test_add_subtract.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/period/test_add_subtract.py b/tests/period/test_add_subtract.py
new file mode 100644
index 0000000..d9a739e
--- /dev/null
+++ b/tests/period/test_add_subtract.py
@@ -0,0 +1,52 @@
+# -*- coding: utf-8 -*-
+
+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)
+
+ print((start - end).in_words())
+
+ period = end - start
+ print(period.in_words())
+ new_end = start + period
+
+ assert new_end == end