Coverage for src/data_api/domain/buses/query.py: 100%
9 statements
« prev ^ index » next coverage.py v7.16.2, created at 2026-11-13 19:28 +0000
« prev ^ index » next coverage.py v7.16.2, created at 2026-11-13 19:28 +0000
1"""Resolve bus query time independently of its REST or MCP transport."""
3from dataclasses import dataclass
4from datetime import datetime
7@dataclass(frozen=True)
8class BusTimeState:
9 day: str
10 after_time: str
11 current_time: str
14def resolve_bus_time(day: str, time: str | None, current: datetime) -> BusTimeState:
15 current_time = current.strftime("%H:%M")
16 if day == "current":
17 return BusTimeState(
18 "weekday" if current.weekday() < 5 else "weekend", current_time, current_time
19 )
20 return BusTimeState(day, time or "", current_time)