2023-11-07 13:27:25 +00:00
|
|
|
"""Test suite of HumanRendering wrapper."""
|
2022-06-24 22:25:58 +02:00
|
|
|
import re
|
|
|
|
|
|
|
|
import pytest
|
|
|
|
|
2022-09-16 23:41:27 +01:00
|
|
|
import gymnasium as gym
|
2022-09-08 10:10:07 +01:00
|
|
|
from gymnasium.wrappers import HumanRendering
|
2022-06-24 22:25:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
def test_human_rendering():
|
2022-09-01 14:06:42 +01:00
|
|
|
for mode in ["rgb_array", "rgb_array_list"]:
|
2022-06-24 22:25:58 +02:00
|
|
|
env = HumanRendering(
|
2022-09-16 23:41:27 +01:00
|
|
|
gym.make("CartPole-v1", render_mode=mode, disable_env_checker=True)
|
2022-06-24 22:25:58 +02:00
|
|
|
)
|
|
|
|
assert env.render_mode == "human"
|
|
|
|
env.reset()
|
|
|
|
|
|
|
|
for _ in range(75):
|
2022-08-30 19:41:59 +05:30
|
|
|
_, _, terminated, truncated, _ = env.step(env.action_space.sample())
|
|
|
|
if terminated or truncated:
|
2022-06-24 22:25:58 +02:00
|
|
|
env.reset()
|
|
|
|
|
|
|
|
env.close()
|
|
|
|
|
2022-09-16 23:41:27 +01:00
|
|
|
env = gym.make("CartPole-v1", render_mode="human")
|
2022-06-24 22:25:58 +02:00
|
|
|
with pytest.raises(
|
|
|
|
AssertionError,
|
|
|
|
match=re.escape(
|
2022-09-01 14:06:42 +01:00
|
|
|
"Expected env.render_mode to be one of 'rgb_array' or 'rgb_array_list' but got 'human'"
|
2022-06-24 22:25:58 +02:00
|
|
|
),
|
|
|
|
):
|
2022-08-08 22:41:15 +01:00
|
|
|
HumanRendering(env)
|
|
|
|
env.close()
|