Spaces:
Sleeping
Sleeping
| """Dispatch task test: Multi Incident.""" | |
| from __future__ import annotations | |
| from src.city_schema import CitySchemaLoader | |
| from src.tasks.multi_incident import MultiIncidentGrader, MultiIncidentTask | |
| def test_multi_incident_task_smoke() -> None: | |
| schema = CitySchemaLoader.load("metro_city") | |
| task = MultiIncidentTask(city_schema=schema, seed=42) | |
| state = task.reset(episode_id="ep-1") | |
| assert state.task_id == "multi_incident" | |
| assert len(state.incidents) >= 3 | |
| legal = task.state_machine.get_legal_actions(state) | |
| assert legal | |
| state, obs = task.step(state, legal[0]) | |
| assert obs.result in {"ok", "invalid action"} | |
| def test_multi_incident_grader_in_range() -> None: | |
| schema = CitySchemaLoader.load("metro_city") | |
| task = MultiIncidentTask(city_schema=schema, seed=42) | |
| state = task.reset(episode_id="ep-1") | |
| grader = MultiIncidentGrader() | |
| score = grader.grade(state, [0.0, 0.5, 0.8]) | |
| assert 0.0 <= score <= 1.0 | |