Spaces:
Sleeping
Sleeping
| from datetime import date | |
| from src.core.case import Case | |
| from src.core.courtroom import Courtroom | |
| from src.utils.calendar import CourtCalendar | |
| def test_calendar_excludes_weekends(): | |
| cal = CourtCalendar() | |
| saturday = date(2025, 2, 1) | |
| monday = date(2025, 2, 3) | |
| assert cal.is_working_day(saturday) is False | |
| assert cal.is_working_day(monday) is True | |
| def test_courtroom_capacity_not_exceeded(): | |
| room = Courtroom(courtroom_id=1, judge_id="J001", daily_capacity=10) | |
| d = date(2025, 2, 3) | |
| for i in range(12): | |
| if room.can_schedule(d, f"C{i}"): | |
| room.schedule_case(d, f"C{i}") | |
| assert len(room.get_daily_schedule(d)) <= room.daily_capacity | |
| def test_min_gap_between_hearings(): | |
| c = Case(case_id="X", case_type="RSA", filed_date=date(2025, 1, 1)) | |
| first = date(2025, 1, 7) | |
| c.record_hearing(first, was_heard=True, outcome="heard") | |
| c.update_age(date(2025, 1, 10)) | |
| assert c.is_ready_for_scheduling(min_gap_days=7) is False | |
| c.update_age(date(2025, 1, 15)) | |
| assert c.is_ready_for_scheduling(min_gap_days=7) is True | |