Ultron/ultron/tools/tests_date_week_transition.py

43 lines
1.9 KiB
Python
Raw Normal View History

""" Test du module date_week_transition """
from django.test import TestCase
from datetime import datetime
import pytz
from ultron.tools.date_week_transition import (
from_date_to_week_number,
from_week_number_to_date,
get_number_of_weeks_between,
)
import pendulum
2022-10-13 10:18:04 +02:00
class FunctionTestCase(TestCase):
2022-10-07 11:24:39 +02:00
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)