2016-04-27 08:00:58 -07:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
from gym import error, envs
|
|
|
|
from gym.envs import registration
|
|
|
|
from gym.envs.classic_control import cartpole
|
|
|
|
|
|
|
|
def test_make():
|
|
|
|
env = envs.make('CartPole-v0')
|
|
|
|
assert env.spec.id == 'CartPole-v0'
|
2017-02-01 13:10:59 -08:00
|
|
|
assert isinstance(env.unwrapped, cartpole.CartPoleEnv)
|
2016-04-27 08:00:58 -07:00
|
|
|
|
2016-05-06 22:26:40 -07:00
|
|
|
def test_make_deprecated():
|
|
|
|
try:
|
|
|
|
envs.make('Humanoid-v0')
|
|
|
|
except error.Error:
|
|
|
|
pass
|
|
|
|
else:
|
|
|
|
assert False
|
|
|
|
|
2016-04-27 08:00:58 -07:00
|
|
|
def test_spec():
|
|
|
|
spec = envs.spec('CartPole-v0')
|
|
|
|
assert spec.id == 'CartPole-v0'
|
|
|
|
|
|
|
|
def test_missing_lookup():
|
|
|
|
registry = registration.EnvRegistry()
|
|
|
|
registry.register(id='Test-v0', entry_point=None)
|
|
|
|
registry.register(id='Test-v15', entry_point=None)
|
|
|
|
registry.register(id='Test-v9', entry_point=None)
|
|
|
|
registry.register(id='Other-v100', entry_point=None)
|
|
|
|
try:
|
2016-05-18 16:24:54 -07:00
|
|
|
registry.spec('Test-v1') # must match an env name but not the version above
|
|
|
|
except error.DeprecatedEnv:
|
|
|
|
pass
|
|
|
|
else:
|
|
|
|
assert False
|
|
|
|
|
|
|
|
try:
|
|
|
|
registry.spec('Unknown-v1')
|
2016-04-27 08:00:58 -07:00
|
|
|
except error.UnregisteredEnv:
|
|
|
|
pass
|
|
|
|
else:
|
|
|
|
assert False
|
|
|
|
|
|
|
|
def test_malformed_lookup():
|
|
|
|
registry = registration.EnvRegistry()
|
|
|
|
try:
|
|
|
|
registry.spec(u'“Breakout-v0”')
|
|
|
|
except error.Error as e:
|
2016-04-28 09:38:57 -07:00
|
|
|
assert 'malformed environment ID' in '{}'.format(e), 'Unexpected message: {}'.format(e)
|
2016-04-27 08:00:58 -07:00
|
|
|
else:
|
|
|
|
assert False
|