feat: Recurrence-Terminberechnung
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
19
finance/tests/test_recurrence.py
Normal file
19
finance/tests/test_recurrence.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from datetime import date
|
||||
|
||||
from app.engine.recurrence import occurrences
|
||||
|
||||
|
||||
def test_monthly_clamps_short_months():
|
||||
got = occurrences("monthly", 31, date(2026, 1, 1), date(2026, 3, 31))
|
||||
assert got == [date(2026, 1, 31), date(2026, 2, 28), date(2026, 3, 31)]
|
||||
|
||||
|
||||
def test_quarterly_respects_item_bounds():
|
||||
got = occurrences("quarterly", 15, date(2026, 1, 1), date(2026, 12, 31),
|
||||
item_start=date(2026, 4, 1), item_end=date(2026, 10, 31))
|
||||
assert got == [date(2026, 4, 15), date(2026, 7, 15), date(2026, 10, 15)]
|
||||
|
||||
|
||||
def test_yearly():
|
||||
got = occurrences("yearly", 1, date(2026, 1, 1), date(2028, 12, 31))
|
||||
assert got == [date(2026, 1, 1), date(2027, 1, 1), date(2028, 1, 1)]
|
||||
Reference in New Issue
Block a user