@@ -134,3 +134,53 @@ def test_range_offset_only(cy_fy, year_offset):
expected = range(year, year + year_offset + 1)
actual = list(cy_fy.range(year_offset))
assert actual == list(expected)
@pytest.mark.parametrize('year', range(2016, 2022))
def test_first_date_year_arg(conservancy_fy, year):
assert conservancy_fy.first_date(year) == datetime.date(year, 3, 1)
@pytest.mark.parametrize('date', [
datetime.date(2019, 1, 1),
datetime.date(2019, 10, 10),
datetime.date(2020, 2, 2),
datetime.date(2020, 12, 12),
])
def test_first_date_date_arg(conservancy_fy, date):
year = date.year
if date.month < 3:
year -= 1
assert conservancy_fy.first_date(date) == datetime.date(year, 3, 1)
def test_last_date_year_arg(conservancy_fy, year):
day = 28 if year % 4 else 29
assert conservancy_fy.last_date(year - 1) == datetime.date(year, 2, day)
def test_last_date_date_arg(conservancy_fy, date):
if date.month >= 3:
year += 1
assert conservancy_fy.last_date(date) == datetime.date(year, 2, day)
def test_next_fy_date_year_arg(conservancy_fy, year):
assert conservancy_fy.next_fy_date(year) == datetime.date(year + 1, 3, 1)
datetime.date(2020, 2, 29),
def test_next_fy_date_date_arg(conservancy_fy, date):
assert conservancy_fy.next_fy_date(date) == datetime.date(year, 3, 1)