text: import unittest
  
  from kaggle_environments.utils import structify
  
  from ray.rllib.env.wrappers.kaggle_wrapper import \
      KaggleFootballMultiAgentEnv
  
  
  class TestKaggleFootballMultiAgentEnv(unittest.TestCase):
      def test_football_env(self):
          env = KaggleFootballMultiAgentEnv()
          obs = env.reset()
          self.assertEqual(list(obs.keys()), ["agent0", "agent1"])
          action_dict = {"agent0": 0, "agent1": 0}
          obs, reward, done, info = env.step(action_dict)
          self.assertEqual(list(obs.keys()), ["agent0", "agent1"])
          self.assertEqual(reward, {"agent0": 0, "agent1": 0})
          self.assertEqual(done, {
              "agent0": False,
              "agent1": False,
              "__all__": False,
          })
          self.assertEqual(info, {"agent0": {}, "agent1": {}})
  
      def test_football_env_run_30_steps(self):
          env = KaggleFootballMultiAgentEnv()
  
          # use the built-in agents in the kaggle environment
          run_right_agent = env.kaggle_env.agents["run_right"]
          do_nothing_agent = env.kaggle_env.agents["do_nothing"]
  
          obs = env.reset()
          self.assertEqual(list(obs.keys()), ["agent0", "agent1"])
          done = {"__all__": False}
          num_steps_completed = 0
          while not done["__all__"] and num_steps_completed <= 30:
              action0 = run_right_agent(structify(obs["agent0"]))[0]
              action1 = do_nothing_agent(structify(obs["agent1"]))[0]
              action_dict = {"agent0": action0, "agent1": action1}
              obs, _, done, _ = env.step(action_dict)
              num_steps_completed += 1
  
      def test_kaggle_football_agent_spaces(self):
          env = KaggleFootballMultiAgentEnv()
          obs = env.reset()
          action_space, obs_space = env.build_agent_spaces()
          self.assertTrue(obs_space.contains(obs["agent0"]))
          self.assertTrue(obs_space.contains(obs["agent1"]))
  
          action_dict = {
              "agent0": action_space.sample(),
              "agent1": action_space.sample(),
          }
          obs, _, _, _ = env.step(action_dict)
          self.assertTrue(obs_space.contains(obs["agent0"]))
          self.assertTrue(obs_space.contains(obs["agent1"]))
  
  
  if __name__ == "__main__":
      import sys
      import pytest
      sys.exit(pytest.main(["-v", __file__]))
  