paper-dynasty-card-creation/tests/test_date_math.py

38 lines
1.5 KiB
Python

from datetime import datetime as dt
from retrosheet_data import date_math, weeks_between, date_from_int
def test_addition():
start_date = '20240101'
assert date_math(start_date, '+', year_delta=1) == '20250101'
assert date_math(start_date, '+', month_delta=2) == '20240301'
assert date_math(start_date, '+', day_delta=9) == '20240110'
assert date_math(start_date, '+', year_delta=1, month_delta=1, day_delta=1) == '20250202'
start_date = '20241201'
assert date_math(start_date, '+', month_delta=1) == '20250101'
assert date_math(start_date, '+', year_delta=2, month_delta=1) == '20270101'
assert date_math(start_date, '+', year_delta=2, month_delta=1, day_delta=10) == '20270111'
def test_subtraction():
start_date = '20241201'
assert date_math(start_date, '-', year_delta=1) == '20231201'
assert date_math(start_date, '-', month_delta=2) == '20241001'
assert date_math(start_date, '-', day_delta=1) == '20241130'
assert date_math(start_date, '-', year_delta=1, month_delta=1, day_delta=1) == '20231031'
start_date = '20240101'
assert date_math(start_date, '-', month_delta=2) == '20231101'
assert date_math(start_date, '-', day_delta=2) == '20231230'
def test_date_from_int():
assert date_from_int('20241201') == dt(2024, 12, 1)
def test_weeks_between():
assert weeks_between('20241201', '20241214') == 2
assert weeks_between('20241001', '20251001') == 52
assert weeks_between('20251001', '20241001') == 52