def test_lookup_env(self):
        instance_id = self.make_env('Airstriker-Genesis')

        env = api.lookup_env(instance_id)

        self.assertTrue(env.gamename == 'Airstriker-Genesis')

        with self.assertRaises(InstanceNotFound):
            api.lookup_env('not_found')
Esempio n. 2
0
    def test_lookup_env(self):
        instance_id = self.make_env('CartPole-v1')

        env = api.lookup_env(instance_id)

        self.assertTrue(env.spec.id == 'CartPole-v1')

        with self.assertRaises(InstanceNotFound):
            api.lookup_env('not_found')
Esempio n. 3
0
    def test_close(self):
        instance_id = self.make_env('CartPole-v1')
        env = api.lookup_env(instance_id)
        self.assertTrue(env != None)

        api.close(self.ws, instance_id)
        with self.assertRaises(InstanceNotFound):
            api.lookup_env(instance_id)
        
        resp = json.loads(self.ws.send.call_args[0][0])
        self.assertTrue(resp)
Esempio n. 4
0
    def test_continuous_action(self):
        instance_id = self.make_env('MountainCarContinuous-v0')
        env = api.lookup_env(instance_id)

        api.action_sample(self.ws, instance_id)
        action = json.loads(self.ws.send.call_args[0][0])

        self.assertEqual(np.array(action).shape, env.action_space.shape)
Esempio n. 5
0
    def test_action_sample(self):
        instance_id = self.make_env('CartPole-v1')
        env = api.lookup_env(instance_id)

        api.action_sample(self.ws, instance_id)
        action = json.loads(self.ws.send.call_args[0][0])

        self.assertTrue(action in range(env.action_space.n))
    def test_action_sample(self):
        instance_id = self.make_env('Airstriker-Genesis')
        env = api.lookup_env(instance_id)

        api.action_sample(self.ws, instance_id)
        action = json.loads(self.ws.send.call_args[0][0])

        self.assertEqual(np.array(action).shape, env.action_space.shape)
Esempio n. 7
0
    def test_action_space(self):
        instance_id = self.make_env('CartPole-v1')
        env = api.lookup_env(instance_id)

        api.action_space(self.ws, instance_id)
        info = json.loads(self.ws.send.call_args[0][0])

        self.assertEqual(info['name'], 'Discrete')
        self.assertEqual(info['n'], env.action_space.n)
    def test_action_space(self):
        instance_id = self.make_env('Airstriker-Genesis')
        env = api.lookup_env(instance_id)

        api.action_space(self.ws, instance_id)
        info = json.loads(self.ws.send.call_args[0][0])

        self.assertEqual(info['name'], 'MultiBinary')
        self.assertEqual(info['n'], env.action_space.n)
        self.assertEqual(info['shape'], [env.action_space.n])
Esempio n. 9
0
    def test_observation_space(self):
        instance_id = self.make_env('CartPole-v1')
        env = api.lookup_env(instance_id)

        api.observation_space(self.ws, instance_id)
        info = json.loads(self.ws.send.call_args[0][0])

        self.assertEqual(info['name'], 'Box')
        self.assertEqual(info['shape'], list(env.observation_space.shape))
        self.assertEqual(info['low'], list(env.observation_space.low))
        self.assertEqual(info['high'], list(env.observation_space.high))
    def test_observation_space(self):
        instance_id = self.make_env('Airstriker-Genesis')
        env = api.lookup_env(instance_id)

        api.observation_space(self.ws, instance_id)
        info = json.loads(self.ws.send.call_args[0][0])

        self.assertEqual(info['name'], 'Box')
        self.assertEqual(info['shape'], list(env.observation_space.shape))
        self.assertEqual(info['low'], env.observation_space.low.tolist())
        self.assertEqual(info['high'], env.observation_space.high.tolist())
Esempio n. 11
0
    def test_step(self):
        instance_id = self.make_env('CartPole-v1')
        env = api.lookup_env(instance_id)

        api.reset(self.ws, instance_id)

        with self.assertRaises(WrongAction):
            api.step(self.ws, instance_id, 'invalid_action')
        
        # valid action
        action = env.action_space.sample()
        api.step(self.ws, instance_id, action)

        observation, reward, done, info = json.loads(self.ws.send.call_args[0][0])

        self.assert_valid_state(observation)
        self.assertTrue(type(reward) == float)
        self.assertTrue(type(done) == bool)
        self.assertTrue(type(info) == dict)