Spaces:
Sleeping
Sleeping
| """Additional environment smoke tests.""" | |
| from __future__ import annotations | |
| import pytest | |
| minigrid = pytest.importorskip("minigrid") | |
| assert minigrid is not None | |
| from MiniGridEnv.env.config import EnvConfig | |
| from MiniGridEnv.env.minigrid_env import MiniGridEnvironment | |
| from MiniGridEnv.env.models import MiniGridAction | |
| def test_step_before_reset_raises(): | |
| env = MiniGridEnvironment(config=EnvConfig(level_name="GoToRedBall")) | |
| with pytest.raises(RuntimeError): | |
| env.step(MiniGridAction(command="go forward")) | |
| def test_step_after_done_raises(): | |
| env = MiniGridEnvironment( | |
| config=EnvConfig(level_name="GoToRedBall", max_steps_override=1) | |
| ) | |
| env.reset(seed=1) | |
| env.step(MiniGridAction(command="go forward")) | |
| with pytest.raises(RuntimeError): | |
| env.step(MiniGridAction(command="go forward")) | |
| def test_reset_creates_new_episode_id(): | |
| env = MiniGridEnvironment(config=EnvConfig(level_name="GoToRedBall")) | |
| env.reset(seed=1) | |
| episode_one = env.state.episode_id | |
| env.reset(seed=2) | |
| episode_two = env.state.episode_id | |
| assert episode_one != episode_two | |
| def test_reset_honors_explicit_episode_id(): | |
| env = MiniGridEnvironment(config=EnvConfig(level_name="GoToRedBall")) | |
| env.reset(seed=1, episode_id="episode-123") | |
| assert env.state.episode_id == "episode-123" | |
| def test_history_can_be_disabled(): | |
| env = MiniGridEnvironment( | |
| config=EnvConfig(level_name="GoToRedBall", include_history=False) | |
| ) | |
| env.reset(seed=5) | |
| obs = env.step(MiniGridAction(command="go forward")) | |
| assert obs.history == [] | |