added units tests for fixed date init

This commit is contained in:
Pyry Lahtinen 2024-05-02 15:05:06 +03:00
parent 703ea897bf
commit ea2ee5ea3c
3 changed files with 21 additions and 1 deletions

View File

@ -16,7 +16,7 @@ class TestBasicDateInit(unittest.TestCase):
self.assertEqual(fixed_date.year_quarter, 1) self.assertEqual(fixed_date.year_quarter, 1)
def test_date_init_february_last(self): def test_date_init_february_last(self):
fixed_date = FixedDate(date=datetime.date(2022, 2, 25)) fixed_date = FixedDate(datetime.date(2022, 2, 25))
self.assertEqual(fixed_date.date, datetime.date(2022, 2, 25)) self.assertEqual(fixed_date.date, datetime.date(2022, 2, 25))
self.assertEqual(fixed_date.year, 2022) self.assertEqual(fixed_date.year, 2022)
self.assertEqual(fixed_date.month, 2) self.assertEqual(fixed_date.month, 2)
@ -87,3 +87,7 @@ class TestBasicDateInit(unittest.TestCase):
def test_init_with_invalid_parameter_combination(self): def test_init_with_invalid_parameter_combination(self):
# day_of_year also requires year parameter # day_of_year also requires year parameter
self.assertRaises(ValueError, lambda : FixedDate(day_of_year=15)) self.assertRaises(ValueError, lambda : FixedDate(day_of_year=15))
def test_date_init_with_none_arguments(self):
fixed_date = FixedDate(datetime.date(2022, 1, 1), None, None, None, None)
self.assertEqual(fixed_date.date, datetime.date(2022, 1, 1))

View File

@ -1,4 +1,5 @@
import unittest import unittest
import datetime
from fixedcal.core.date import FixedDate from fixedcal.core.date import FixedDate
class TestBasicDayOfYearInit(unittest.TestCase): class TestBasicDayOfYearInit(unittest.TestCase):
@ -33,3 +34,14 @@ class TestBasicDayOfYearInit(unittest.TestCase):
self.assertEqual(fixed_date.month, 13) self.assertEqual(fixed_date.month, 13)
self.assertEqual(fixed_date.day_of_month, 29) self.assertEqual(fixed_date.day_of_month, 29)
self.assertTrue(fixed_date.is_year_day) self.assertTrue(fixed_date.is_year_day)
def test_init_day_of_year_with_none_arguments(self):
fixed_date = FixedDate(None, 1, None, None, 2022)
self.assertEqual(fixed_date.date, datetime.date(2022, 1, 1))
def test_day_of_year_init_all_days(self):
year_start = datetime.date(2024, 1, 1) # leap year
for day_of_year in range(1, 367):
fixed_date = FixedDate(day_of_year=day_of_year, year=2024)
native_date = year_start + datetime.timedelta(days=day_of_year-1)
self.assertEqual(fixed_date.date, native_date)

View File

@ -52,3 +52,7 @@ class TestInitWithFixedDate(unittest.TestCase):
def test_month_too_big_raises(self): def test_month_too_big_raises(self):
self.assertRaises(ValueError, lambda : FixedDate(day=15, month=14, year=2022)) self.assertRaises(ValueError, lambda : FixedDate(day=15, month=14, year=2022))
def test_day_month_year_init_with_none_arguments(self):
fixed_date = FixedDate(None, None, 1, 1, 2022)
self.assertEqual(fixed_date.date, datetime.date(2022, 1, 1))