Wrote tests for utils.py
This commit is contained in:
parent
faf0b44e46
commit
eb63766c1e
@ -116,7 +116,7 @@ def _find_closest_date(
|
|||||||
raise ValueError(f"Invalid argument for if_not_found: {if_not_found}")
|
raise ValueError(f"Invalid argument for if_not_found: {if_not_found}")
|
||||||
|
|
||||||
|
|
||||||
def _interval_to_years(interval_type: Literal["years", "months", "day"], interval_value: int) -> int:
|
def _interval_to_years(interval_type: Literal["years", "months", "day"], interval_value: int) -> float:
|
||||||
"""Converts any time period to years for use with compounding functions"""
|
"""Converts any time period to years for use with compounding functions"""
|
||||||
|
|
||||||
year_conversion_factor = {"years": 1, "months": 12, "days": 365}
|
year_conversion_factor = {"years": 1, "months": 12, "days": 365}
|
||||||
|
26
tests/test_utils.py
Normal file
26
tests/test_utils.py
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
import datetime
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
from fincal.utils import _interval_to_years, _parse_date
|
||||||
|
|
||||||
|
|
||||||
|
class TestParseDate:
|
||||||
|
def test_parsing(self):
|
||||||
|
dt = datetime.datetime(2020, 1, 1)
|
||||||
|
assert _parse_date(dt) == dt
|
||||||
|
assert _parse_date(dt.strftime("%Y-%m-%d")) == dt
|
||||||
|
assert _parse_date(datetime.date(2020, 1, 1)) == dt
|
||||||
|
assert _parse_date("01-01-2020", date_format="%d-%m-%Y") == dt
|
||||||
|
assert _parse_date("01-01-2020", date_format="%m-%d-%Y") == dt
|
||||||
|
|
||||||
|
def test_errors(self):
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
_parse_date("01-01-2020")
|
||||||
|
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
_parse_date("abcdefg")
|
||||||
|
|
||||||
|
|
||||||
|
class TestIntervalToYears:
|
||||||
|
def test_months(self):
|
||||||
|
assert _interval_to_years("months", 6) == 0.5
|
Loading…
Reference in New Issue
Block a user