2019-08-09 15:16:44 -07:00
|
|
|
import pickle
|
|
|
|
|
|
|
|
import pytest
|
|
|
|
|
|
|
|
from gym import envs
|
2021-09-29 01:53:30 +02:00
|
|
|
from tests.envs.spec_list import skip_mujoco, SKIP_MUJOCO_WARNING_MESSAGE
|
2019-08-09 15:16:44 -07:00
|
|
|
|
|
|
|
|
|
|
|
ENVIRONMENT_IDS = (
|
2021-07-29 02:26:34 +02:00
|
|
|
"HandManipulateEgg-v0",
|
|
|
|
"HandManipulatePen-v0",
|
|
|
|
"HandManipulateBlock-v0",
|
2019-08-09 15:16:44 -07:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.skipif(skip_mujoco, reason=SKIP_MUJOCO_WARNING_MESSAGE)
|
|
|
|
@pytest.mark.parametrize("environment_id", ENVIRONMENT_IDS)
|
|
|
|
def test_serialize_deserialize(environment_id):
|
2021-07-29 02:26:34 +02:00
|
|
|
env1 = envs.make(environment_id, target_position="fixed")
|
2019-08-09 15:16:44 -07:00
|
|
|
env1.reset()
|
|
|
|
env2 = pickle.loads(pickle.dumps(env1))
|
|
|
|
|
|
|
|
assert env1.target_position == env2.target_position, (
|
2021-07-29 02:26:34 +02:00
|
|
|
env1.target_position,
|
|
|
|
env2.target_position,
|
|
|
|
)
|