year quarters added
This commit is contained in:
parent
8a17432142
commit
3442701195
@ -88,7 +88,17 @@ class FixedDate:
|
||||
"""
|
||||
return ((self._day_of_year-1) // 7) + 1
|
||||
|
||||
# TODO: year quarter
|
||||
@property
|
||||
def year_quarter(self) -> int:
|
||||
"""Quarter of the year. Value 4 for year day.
|
||||
|
||||
Returns:
|
||||
int: In range 1...4
|
||||
"""
|
||||
if self.is_year_day:
|
||||
return 4
|
||||
return ((self.day_of_year-1) // 91) + 1
|
||||
|
||||
# TODO: datetime instance
|
||||
# TODO: plus and minus operations
|
||||
# TODO: equatable
|
||||
|
@ -12,6 +12,7 @@ class TestBasicDatetimeInit(unittest.TestCase):
|
||||
self.assertEqual(fixed_date.week_of_month, 1)
|
||||
self.assertEqual(fixed_date.weekday, 1)
|
||||
self.assertEqual(fixed_date.week_of_year, 1)
|
||||
self.assertEqual(fixed_date.year_quarter, 1)
|
||||
|
||||
def test_datetime_init_february_last(self):
|
||||
fixed_date = FixedDate(date=datetime(2022, 2, 25))
|
||||
@ -22,6 +23,7 @@ class TestBasicDatetimeInit(unittest.TestCase):
|
||||
self.assertEqual(fixed_date.week_of_month, 4)
|
||||
self.assertEqual(fixed_date.weekday, 7)
|
||||
self.assertEqual(fixed_date.week_of_year, 8)
|
||||
self.assertEqual(fixed_date.year_quarter, 1)
|
||||
|
||||
def test_datetime_init_sol_month(self):
|
||||
fixed_date = FixedDate(date=datetime(2022, 6, 20))
|
||||
@ -32,6 +34,18 @@ class TestBasicDatetimeInit(unittest.TestCase):
|
||||
self.assertEqual(fixed_date.week_of_month, 1)
|
||||
self.assertEqual(fixed_date.weekday, 3)
|
||||
self.assertEqual(fixed_date.week_of_year, 25)
|
||||
self.assertEqual(fixed_date.year_quarter, 2)
|
||||
|
||||
def test_datetime_init_middle_of_september(self):
|
||||
fixed_date = FixedDate(date=datetime(2022, 9, 15))
|
||||
self.assertEqual(fixed_date.year, 2022)
|
||||
self.assertEqual(fixed_date.month, 10)
|
||||
self.assertEqual(fixed_date.day_of_month, 6)
|
||||
self.assertEqual(fixed_date.day_of_year, 258)
|
||||
self.assertEqual(fixed_date.week_of_month, 1)
|
||||
self.assertEqual(fixed_date.weekday, 6)
|
||||
self.assertEqual(fixed_date.week_of_year, 37)
|
||||
self.assertEqual(fixed_date.year_quarter, 3)
|
||||
|
||||
def test_datetime_init_december_last(self):
|
||||
fixed_date = FixedDate(date=datetime(2022, 12, 30))
|
||||
@ -43,6 +57,7 @@ class TestBasicDatetimeInit(unittest.TestCase):
|
||||
self.assertEqual(fixed_date.week_of_month, 4)
|
||||
self.assertEqual(fixed_date.weekday, 7)
|
||||
self.assertEqual(fixed_date.week_of_year, 52)
|
||||
self.assertEqual(fixed_date.year_quarter, 4)
|
||||
|
||||
def test_datetime_init_year_day(self):
|
||||
fixed_date = FixedDate(date=datetime(2022, 12, 31))
|
||||
@ -54,3 +69,4 @@ class TestBasicDatetimeInit(unittest.TestCase):
|
||||
self.assertEqual(fixed_date.week_of_month, 1)
|
||||
self.assertEqual(fixed_date.weekday, 1)
|
||||
self.assertEqual(fixed_date.week_of_year, 53)
|
||||
self.assertEqual(fixed_date.year_quarter, 4)
|
||||
|
Loading…
x
Reference in New Issue
Block a user