2023-11-07 13:27:25 +00:00
|
|
|
"""Test suite for FlattenObservation wrapper."""
|
2019-10-19 06:59:56 +09:00
|
|
|
|
2023-11-07 13:27:25 +00:00
|
|
|
from gymnasium.spaces import Box, Dict, flatten_space
|
2022-09-08 10:10:07 +01:00
|
|
|
from gymnasium.wrappers import FlattenObservation
|
2023-11-07 13:27:25 +00:00
|
|
|
from tests.testing_env import GenericTestEnv
|
|
|
|
from tests.wrappers.utils import (
|
|
|
|
check_obs,
|
|
|
|
record_random_obs_reset,
|
|
|
|
record_random_obs_step,
|
|
|
|
)
|
2019-08-23 23:49:12 +02:00
|
|
|
|
|
|
|
|
2023-11-07 13:27:25 +00:00
|
|
|
def test_flatten_observation_wrapper():
|
|
|
|
"""Tests the ``FlattenObservation`` wrapper that the observation are flattened correctly."""
|
|
|
|
env = GenericTestEnv(
|
|
|
|
observation_space=Dict(arm=Box(0, 1), head=Box(2, 3)),
|
|
|
|
reset_func=record_random_obs_reset,
|
|
|
|
step_func=record_random_obs_step,
|
|
|
|
)
|
2019-08-23 23:49:12 +02:00
|
|
|
wrapped_env = FlattenObservation(env)
|
|
|
|
|
2023-11-07 13:27:25 +00:00
|
|
|
assert wrapped_env.observation_space == flatten_space(env.observation_space)
|
|
|
|
assert wrapped_env.action_space == env.action_space
|
2019-08-23 23:49:12 +02:00
|
|
|
|
2023-11-07 13:27:25 +00:00
|
|
|
obs, info = wrapped_env.reset()
|
|
|
|
check_obs(env, wrapped_env, obs, info["obs"])
|
2019-10-19 06:59:56 +09:00
|
|
|
|
2023-11-07 13:27:25 +00:00
|
|
|
obs, _, _, _, info = wrapped_env.step(None)
|
|
|
|
check_obs(env, wrapped_env, obs, info["obs"])
|