Spaces:
Sleeping
Sleeping
| """Tests for task registry and scenario fixtures (dispatch domain).""" | |
| from __future__ import annotations | |
| import pytest | |
| from src.tasks.registry import DispatchScenarioFactory, TaskRegistry | |
| def test_four_tasks_registered() -> None: | |
| tasks = TaskRegistry.list_tasks() | |
| ids = {t.task_id for t in tasks} | |
| assert ids == {"single_incident", "multi_incident", "mass_casualty", "shift_surge"} | |
| def test_get_unknown_task_raises() -> None: | |
| with pytest.raises(KeyError): | |
| TaskRegistry.get("nope") | |
| def test_factory_build_returns_state_and_meta() -> None: | |
| state, meta = DispatchScenarioFactory.build("multi_incident", seed=42) | |
| assert "units" in state | |
| assert "incidents" in state | |
| assert "task_id" in state | |
| assert meta["grid_size"] | |
| def test_factory_is_deterministic() -> None: | |
| s1, m1 = DispatchScenarioFactory.build("shift_surge", seed=123) | |
| s2, m2 = DispatchScenarioFactory.build("shift_surge", seed=123) | |
| assert s1 == s2 | |
| assert m1 == m2 | |