Spaces:
Runtime error
Runtime error
| from __future__ import annotations | |
| import json | |
| from pathlib import Path | |
| from freeciv_env.adapter import RawSnapshot, prepare_observation | |
| def test_prepare_observation_from_freecivbot_fixture() -> None: | |
| fixtures = Path("tests/fixtures") | |
| state = json.loads((fixtures / "turn_state.json").read_text()) | |
| actions = json.loads((fixtures / "turn_actions.json").read_text()) | |
| prepared = prepare_observation( | |
| RawSnapshot(turn=15, state=state, actions=actions), | |
| reward=0.0, | |
| done=False, | |
| status="ready", | |
| metadata={}, | |
| ) | |
| obs = prepared.observation | |
| assert obs.turn == 15 | |
| assert obs.city_count == 2 | |
| assert obs.unit_count == 3 | |
| assert obs.known_tiles > 0 | |
| assert obs.visible_tiles > 0 | |
| assert any(action.action_type == "move_unit" for action in obs.legal_actions) | |
| assert any(action.action_type == "set_city_production" for action in obs.legal_actions) | |
| assert any(action.action_type == "set_research" for action in obs.legal_actions) | |
| assert "Turn 15" in obs.summary | |
| assert "Legal actions exposed" in obs.summary | |