summaryrefslogtreecommitdiffstats
path: root/tests/interval/test_arithmetic.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2023-01-05 10:38:34 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2023-01-05 10:38:34 +0000
commite3bdad36cc3a1a00c1e6772ca1c1898085ab73e0 (patch)
tree34512072a667ae716fd262e7b37e733e60fe4d89 /tests/interval/test_arithmetic.py
parentAdding upstream version 2.1.2. (diff)
downloadpendulum-e3bdad36cc3a1a00c1e6772ca1c1898085ab73e0.tar.xz
pendulum-e3bdad36cc3a1a00c1e6772ca1c1898085ab73e0.zip
Adding upstream version 3.0.0~a1.upstream/3.0.0_a1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/interval/test_arithmetic.py')
-rw-r--r--tests/interval/test_arithmetic.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/interval/test_arithmetic.py b/tests/interval/test_arithmetic.py
new file mode 100644
index 0000000..e5ba01f
--- /dev/null
+++ b/tests/interval/test_arithmetic.py
@@ -0,0 +1,53 @@
+from __future__ import annotations
+
+import pendulum
+
+from tests.conftest import assert_duration
+
+
+def test_multiply():
+ dt1 = pendulum.DateTime(2016, 8, 7, 12, 34, 56)
+ dt2 = dt1.add(days=6, seconds=34)
+ it = pendulum.interval(dt1, dt2)
+ mul = it * 2
+ assert isinstance(mul, pendulum.Duration)
+ assert_duration(mul, 0, 0, 1, 5, 0, 1, 8)
+
+ dt1 = pendulum.DateTime(2016, 8, 7, 12, 34, 56)
+ dt2 = dt1.add(days=6, seconds=34)
+ it = pendulum.interval(dt1, dt2)
+ mul = it * 2
+ assert isinstance(mul, pendulum.Duration)
+ assert_duration(mul, 0, 0, 1, 5, 0, 1, 8)
+
+
+def test_divide():
+ dt1 = pendulum.DateTime(2016, 8, 7, 12, 34, 56)
+ dt2 = dt1.add(days=2, seconds=34)
+ it = pendulum.interval(dt1, dt2)
+ mul = it / 2
+ assert isinstance(mul, pendulum.Duration)
+ assert_duration(mul, 0, 0, 0, 1, 0, 0, 17)
+
+ dt1 = pendulum.DateTime(2016, 8, 7, 12, 34, 56)
+ dt2 = dt1.add(days=2, seconds=35)
+ it = pendulum.interval(dt1, dt2)
+ mul = it / 2
+ assert isinstance(mul, pendulum.Duration)
+ assert_duration(mul, 0, 0, 0, 1, 0, 0, 17)
+
+
+def test_floor_divide():
+ dt1 = pendulum.DateTime(2016, 8, 7, 12, 34, 56)
+ dt2 = dt1.add(days=2, seconds=34)
+ it = pendulum.interval(dt1, dt2)
+ mul = it // 2
+ assert isinstance(mul, pendulum.Duration)
+ assert_duration(mul, 0, 0, 0, 1, 0, 0, 17)
+
+ dt1 = pendulum.DateTime(2016, 8, 7, 12, 34, 56)
+ dt2 = dt1.add(days=2, seconds=35)
+ it = pendulum.interval(dt1, dt2)
+ mul = it // 3
+ assert isinstance(mul, pendulum.Duration)
+ assert_duration(mul, 0, 0, 0, 0, 16, 0, 11)