Jarvis/jarvis/tools/tests_date_week_transition.py

72 lines
2.3 KiB
Python

""" Test du module date_week_transition """
from datetime import datetime
import pendulum
from django.test import TestCase
import pytz
from jarvis.tools.date_week_transition import (
from_date_to_week_number,
from_week_number_to_date,
get_number_of_weeks_between,
)
class FunctionTestCase(TestCase):
def test_from_week_number_to_date(self):
# timezone = pytz.timezone("UTC")
start_date = datetime(2022, 10, 3, 0, 0, 0, tzinfo=pytz.UTC)
end_date = datetime(2022, 10, 9, 0, 0, 0, tzinfo=pytz.UTC)
self.assertEqual(
from_week_number_to_date("2022-2023", 6), (start_date, end_date)
)
start_date = datetime(2023, 1, 30, 0, 0, 0, tzinfo=pytz.UTC)
end_date = datetime(2023, 2, 5, 0, 0, 0, tzinfo=pytz.UTC)
self.assertEqual(
from_week_number_to_date("2022-2023", 22), (start_date, end_date)
)
start_date = datetime(2023, 7, 3, 0, 0, 0, tzinfo=pytz.UTC)
end_date = datetime(2023, 7, 9, 0, 0, 0, tzinfo=pytz.UTC)
self.assertEqual(
from_week_number_to_date("2022-2023", 44), (start_date, end_date)
)
def test_from_date_to_week_number(self):
self.assertEqual(
from_date_to_week_number(pendulum.date(2022, 9, 1)), ("2022-2023", 1)
)
self.assertEqual(
from_date_to_week_number(pendulum.date(2023, 2, 5)), ("2022-2023", 22)
)
self.assertEqual(
from_date_to_week_number(pendulum.date(2023, 7, 5)), ("2022-2023", 44)
)
def test_get_number_of_weeks_between(self):
self.assertEqual(
get_number_of_weeks_between(
pendulum.date(2022, 9, 1), pendulum.date(2022, 9, 4)
),
0,
)
self.assertEqual(
get_number_of_weeks_between(
pendulum.date(2022, 9, 1), pendulum.date(2023, 2, 5)
),
22,
)
self.assertEqual(
get_number_of_weeks_between(
pendulum.date(2022, 9, 1), pendulum.date(2023, 7, 5)
),
44,
)
self.assertEqual(
get_number_of_weeks_between(
pendulum.date(2023, 2, 5), pendulum.date(2023, 7, 5)
),
22,
)