from __future__ import annotations from datetime import date from teamlandkarte_mcp.utils.dates import availability_overlaps def test_availability_overlaps_open_ended_capacity_end() -> None: cap_begin = date(2025, 1, 1) cap_end = None assert availability_overlaps( cap_begin, cap_end, date(2025, 2, 1), date(2025, 2, 28) ) assert availability_overlaps(cap_begin, cap_end, None, date(2025, 2, 28)) assert availability_overlaps(cap_begin, cap_end, date(2024, 12, 1), None) def test_availability_overlaps_non_overlapping() -> None: assert not availability_overlaps( date(2025, 1, 1), date(2025, 1, 31), date(2025, 2, 1), date(2025, 2, 28), ) def test_availability_overlaps_inclusive_edges() -> None: assert availability_overlaps( date(2025, 1, 1), date(2025, 1, 31), date(2025, 1, 31), date(2025, 2, 1), )