test_recsim_wrapper.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import gym
  2. import unittest
  3. from ray.rllib.env.wrappers.recsim_wrapper import (
  4. MultiDiscreteToDiscreteActionWrapper, make_recsim_env)
  5. from ray.rllib.utils.error import UnsupportedSpaceException
  6. class TestRecSimWrapper(unittest.TestCase):
  7. def test_observation_space(self):
  8. env = make_recsim_env(config={})
  9. obs = env.reset()
  10. self.assertTrue(
  11. env.observation_space.contains(obs),
  12. f"{env.observation_space} doesn't contain {obs}")
  13. new_obs, _, _, _ = env.step(env.action_space.sample())
  14. self.assertTrue(env.observation_space.contains(new_obs))
  15. def test_action_space_conversion(self):
  16. env = make_recsim_env(
  17. config={"convert_to_discrete_action_space": True})
  18. self.assertIsInstance(env.action_space, gym.spaces.Discrete)
  19. env.reset()
  20. action = env.action_space.sample()
  21. env.step(action)
  22. def test_double_action_space_conversion_raises_exception(self):
  23. env = make_recsim_env(
  24. config={"convert_to_discrete_action_space": True})
  25. with self.assertRaises(UnsupportedSpaceException):
  26. env = MultiDiscreteToDiscreteActionWrapper(env)
  27. if __name__ == "__main__":
  28. import sys
  29. import pytest
  30. sys.exit(pytest.main(["-v", __file__]))