Spaces:
Sleeping
Sleeping
| """Determinism tests for 911 dispatch fixtures and environment.""" | |
| from __future__ import annotations | |
| import asyncio | |
| from src.openenv_environment import OpenEnvEnvironment | |
| from src.tasks.registry import DispatchScenarioFactory | |
| def test_fixture_determinism_same_seed() -> None: | |
| s1, m1 = DispatchScenarioFactory.build("single_incident", seed=123) | |
| s2, m2 = DispatchScenarioFactory.build("single_incident", seed=123) | |
| assert s1 == s2 | |
| assert m1 == m2 | |
| def test_fixture_variation_different_seed() -> None: | |
| s1, _ = DispatchScenarioFactory.build("single_incident", seed=111) | |
| s2, _ = DispatchScenarioFactory.build("single_incident", seed=222) | |
| assert s1 != s2 | |
| def test_openenv_same_seed_same_initial_units_and_incidents() -> None: | |
| env1 = OpenEnvEnvironment(task_id="multi_incident", seed=42) | |
| env2 = OpenEnvEnvironment(task_id="multi_incident", seed=42) | |
| asyncio.run(env1.reset()) | |
| asyncio.run(env2.reset()) | |
| st1 = env1.state().model_dump() | |
| st2 = env2.state().model_dump() | |
| st1.pop("episode_id", None) | |
| st2.pop("episode_id", None) | |
| assert st1["units"] == st2["units"] | |
| assert st1["incidents"] == st2["incidents"] | |
| env1.close() | |
| env2.close() | |