27 lines
771 B
Python
27 lines
771 B
Python
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
|