import numpy as np import pytest from dizoo.gym_hybrid.envs import GymHybridEnv from easydict import EasyDict @pytest.mark.envtest class TestGymHybridEnv: def test_naive(self): env = GymHybridEnv( EasyDict( { 'env_id': 'Moving-v0', 'act_scale': False, 'save_replay_gif': False, 'replay_path_gif': None, 'replay_path': None } ) ) env.enable_save_replay('./video') env.seed(314, dynamic_seed=False) assert env._seed == 314 obs = env.reset() assert obs.shape == (10, ) for i in range(200): random_action = env.random_action() print('random_action', random_action) timestep = env.step(random_action) assert isinstance(timestep.obs, np.ndarray) assert isinstance(timestep.done, bool) assert timestep.obs.shape == (10, ) assert timestep.reward.shape == (1, ) assert timestep.info['action_args_mask'].shape == (3, 2) if timestep.done: print('reset env') env.reset() print(env.observation_space, env.action_space, env.reward_space) env.close()