2022-09-16 23:41:27 +01:00
|
|
|
import gymnasium as gym
|
2022-06-23 13:54:50 +01:00
|
|
|
|
|
|
|
|
2022-09-16 23:41:27 +01:00
|
|
|
class RegisterDuringMakeEnv(gym.Env):
|
2022-06-23 13:54:50 +01:00
|
|
|
"""Used in `test_registration.py` to check if `env.make` can import and register an env"""
|
|
|
|
|
|
|
|
def __init__(self):
|
2022-09-16 23:41:27 +01:00
|
|
|
self.action_space = gym.spaces.Discrete(1)
|
|
|
|
self.observation_space = gym.spaces.Discrete(1)
|
2022-06-23 13:54:50 +01:00
|
|
|
|
|
|
|
|
2022-09-16 23:41:27 +01:00
|
|
|
class ArgumentEnv(gym.Env):
|
|
|
|
observation_space = gym.spaces.Box(low=-1, high=1, shape=(1,))
|
|
|
|
action_space = gym.spaces.Box(low=-1, high=1, shape=(1,))
|
2022-06-23 13:54:50 +01:00
|
|
|
|
|
|
|
def __init__(self, arg1, arg2, arg3):
|
|
|
|
self.arg1 = arg1
|
|
|
|
self.arg2 = arg2
|
|
|
|
self.arg3 = arg3
|
2022-06-24 22:25:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
# Environments to test render_mode
|
2022-09-16 23:41:27 +01:00
|
|
|
class NoHuman(gym.Env):
|
2022-06-24 22:25:58 +02:00
|
|
|
"""Environment that does not have human-rendering."""
|
|
|
|
|
2023-01-09 13:12:07 +00:00
|
|
|
metadata = {"render_modes": ["rgb_array_list"], "render_fps": 4}
|
2022-06-24 22:25:58 +02:00
|
|
|
|
|
|
|
def __init__(self, render_mode=None):
|
|
|
|
assert render_mode in self.metadata["render_modes"]
|
|
|
|
self.render_mode = render_mode
|
|
|
|
|
|
|
|
|
2022-09-16 23:41:27 +01:00
|
|
|
class NoHumanOldAPI(gym.Env):
|
2022-06-24 22:25:58 +02:00
|
|
|
"""Environment that does not have human-rendering."""
|
|
|
|
|
2023-01-09 13:12:07 +00:00
|
|
|
metadata = {"render_modes": ["rgb_array_list"], "render_fps": 4}
|
2022-06-24 22:25:58 +02:00
|
|
|
|
|
|
|
def __init__(self):
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
2022-09-16 23:41:27 +01:00
|
|
|
class NoHumanNoRGB(gym.Env):
|
2022-06-24 22:25:58 +02:00
|
|
|
"""Environment that has neither human- nor rgb-rendering"""
|
|
|
|
|
2023-01-09 13:12:07 +00:00
|
|
|
metadata = {"render_modes": ["ascii"], "render_fps": 4}
|
2022-06-24 22:25:58 +02:00
|
|
|
|
|
|
|
def __init__(self, render_mode=None):
|
|
|
|
assert render_mode in self.metadata["render_modes"]
|
|
|
|
self.render_mode = render_mode
|
2022-12-13 18:45:54 +00:00
|
|
|
|
|
|
|
|
|
|
|
class NoRenderModesMetadata(gym.Env):
|
|
|
|
"""An environment that has rendering but has not updated the metadata."""
|
|
|
|
|
|
|
|
# metadata: dict[str, Any] = {"render_modes": []}
|
|
|
|
|
|
|
|
def __init__(self, render_mode):
|
|
|
|
self.render_mode = render_mode
|
|
|
|
|
|
|
|
self.observation_space = gym.spaces.Box(low=0, high=1)
|
|
|
|
self.action_space = gym.spaces.Box(low=0, high=1)
|