diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-01-05 10:38:41 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-01-05 10:39:17 +0000 |
commit | d6d80a17444c90259c5bfdacb84c61e6bfece655 (patch) | |
tree | 157bff98bd572acf0b64cd5d478b0bdac87a37ae /tests/interval/test_arithmetic.py | |
parent | Releasing debian version 2.1.2-4. (diff) | |
download | pendulum-d6d80a17444c90259c5bfdacb84c61e6bfece655.tar.xz pendulum-d6d80a17444c90259c5bfdacb84c61e6bfece655.zip |
Merging upstream version 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.py | 53 |
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) |