def test_step_3(self): vo_mock = Mock() vo_mock.side_effect = [ fill_step_mock(self.brain_name, np.full((10, 10, 1), 0.17)), fill_step_mock(self.brain_name, np.full((10, 10, 1), 0.23)), fill_step_mock(self.brain_name, np.full((10, 10, 1), 0.02)), fill_step_mock(self.brain_name, np.full((10, 10, 1), 0.11)), fill_step_mock(self.brain_name, np.full((10, 10, 1), 0.90)), fill_step_mock(self.brain_name, np.full((10, 10, 1), 0.14)), fill_step_mock(self.brain_name, np.full((10, 10, 1), 0.10)), fill_step_mock(self.brain_name, np.full((10, 10, 1), 0.19)) ] self.env_mock.step = vo_mock self.env_provider_mock.provide.return_value = self.env_mock cfg = Config('tests/config.json') cfg.set_config_value('OBS_SIZE', 10) cfg.set_config_value('FRAMES_SKIP', 0) cfg.set_config_value('FRAMES_LOOKBACK', 5) cfg.set_config_value('USE_DIFF', True) env = Environment(self.env_provider_mock, cfg) res = env.step(1) self.assertTrue( frames_helper( res["stacked_observation"], [0, 0, 0, 0, 0], True)) res = env.step(1) self.assertTrue( frames_helper( res["stacked_observation"], [0, 0, 0, 0, 0.06], True)) res = env.step(1) self.assertTrue( frames_helper( res["stacked_observation"], [0, 0, 0, 6, -21], True)) res = env.step(1) self.assertTrue( frames_helper( res["stacked_observation"], [0, 0, 6, -21, 9], True)) res = env.step(1) self.assertTrue( frames_helper( res["stacked_observation"], [0, 6, -21, 9, -2], True)) res = env.step(1) self.assertTrue( frames_helper( res["stacked_observation"], [6, -21, 9, -2, 5], True)) res = env.step(1) self.assertTrue( frames_helper( res["stacked_observation"], [-21, 9, -2, 5, -4], True)) res = env.step(1) self.assertTrue( frames_helper( res["stacked_observation"], [9, -2, 5, -4, 9], True))
def test_step_1(self): self.env_mock.step.return_value = fill_step_mock( self.brain_name, np.random.rand(10, 10, 1)) self.env_provider_mock.provide.return_value = self.env_mock cfg = Config('tests/config.json') cfg.set_config_value('OBS_SIZE', 10) cfg.set_config_value('FRAMES_SKIP', 4) cfg.set_config_value('FRAMES_LOOKBACK', 5) cfg.set_config_value('USE_DIFF', False) env = Environment(self.env_provider_mock, cfg) res = env.step(1) self.assertEqual(res["stacked_observation"].shape, (1, 10, 10, 5))