summaryrefslogtreecommitdiffstats
path: root/tests/conftest.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/conftest.py')
-rw-r--r--tests/conftest.py101
1 files changed, 101 insertions, 0 deletions
diff --git a/tests/conftest.py b/tests/conftest.py
new file mode 100644
index 0000000..060e951
--- /dev/null
+++ b/tests/conftest.py
@@ -0,0 +1,101 @@
+from __future__ import annotations
+
+import pytest
+
+import pendulum
+
+
+@pytest.fixture(autouse=True)
+def setup():
+ pendulum.set_local_timezone(pendulum.timezone("America/Toronto"))
+
+ yield
+
+ pendulum.set_locale("en")
+ pendulum.set_local_timezone()
+ pendulum.week_starts_at(pendulum.MONDAY)
+ pendulum.week_ends_at(pendulum.SUNDAY)
+
+
+def assert_datetime(
+ d, year, month, day, hour=None, minute=None, second=None, microsecond=None
+):
+ assert year == d.year
+ assert month == d.month
+ assert day == d.day
+
+ if hour is not None:
+ assert hour == d.hour
+
+ if minute is not None:
+ assert minute == d.minute
+
+ if second is not None:
+ assert second == d.second
+
+ if microsecond is not None:
+ assert microsecond == d.microsecond
+
+
+def assert_date(d, year, month, day):
+ assert year == d.year
+ assert month == d.month
+ assert day == d.day
+
+
+def assert_time(t, hour, minute, second, microsecond=None):
+ assert hour == t.hour
+ assert minute == t.minute
+ assert second == t.second
+
+ if microsecond is not None:
+ assert microsecond == t.microsecond
+
+
+def assert_duration(
+ dur,
+ years=None,
+ months=None,
+ weeks=None,
+ days=None,
+ hours=None,
+ minutes=None,
+ seconds=None,
+ microseconds=None,
+) -> None:
+ expected = {}
+ actual = {}
+
+ if years is not None:
+ expected["years"] = dur.years
+ actual["years"] = years
+
+ if months is not None:
+ expected["months"] = dur.months
+ actual["months"] = months
+
+ if weeks is not None:
+ expected["weeks"] = dur.weeks
+ actual["weeks"] = weeks
+
+ if days is not None:
+ expected["days"] = dur.remaining_days
+ actual["days"] = days
+
+ if hours is not None:
+ expected["hours"] = dur.hours
+ actual["hours"] = hours
+
+ if minutes is not None:
+ expected["minutes"] = dur.minutes
+ actual["minutes"] = minutes
+
+ if seconds is not None:
+ expected["seconds"] = dur.remaining_seconds
+ actual["seconds"] = seconds
+
+ if microseconds is not None:
+ expected["microseconds"] = dur.microseconds
+ actual["microseconds"] = microseconds
+
+ assert expected == actual