Spaces:
Sleeping
Sleeping
| import proteus.game.scenarios # noqa: F401 | |
| from proteus.game.engine.difficulty import Difficulty | |
| from proteus.providers import FakeProvider | |
| from proteus.game.agents import VanillaAgent | |
| from proteus.game.runtime import SessionRunner | |
| def test_each_turn_records_pre_and_post_bfs_distance(): | |
| prov = FakeProvider(["ACTION: up"] * 10, model_name="demo") | |
| trace = SessionRunner( | |
| "template", VanillaAgent(prov), difficulty=Difficulty.EASY, | |
| seed=42, play_turns=4, use_probe=False, | |
| ).run() | |
| for t in trace.turns: | |
| assert t.pre_bfs_distance is not None | |
| assert t.post_bfs_distance is not None | |
| assert t.post_focal_pos is not None | |
| # spec §9: away-move quality is measured vs the PRE-move predator cell | |
| first = trace.turns[0] | |
| assert first.agent_distance_delta is not None | |
| def test_episode_records_turn_order_capture_rule_horizon(): | |
| prov = FakeProvider(["ACTION: up"] * 10, model_name="demo") | |
| trace = SessionRunner( | |
| "template", VanillaAgent(prov), difficulty=Difficulty.EASY, | |
| seed=42, play_turns=4, use_probe=False, | |
| ).run() | |
| assert trace.turn_order == "focal_then_predator" | |
| assert trace.capture_rule == "same_cell" | |
| assert trace.horizon == 4 | |