code: def test_pong(self, zero_discount_on_life_loss: bool):
      env = gym.make("PongNoFrameskip-v4", full_action_space=True)
      env = gym_wrapper.GymAtariAdapter(env)
      env = atari_wrapper.AtariWrapper(
          env, zero_discount_on_life_loss=zero_discount_on_life_loss
      )
  
      # Test converted observation spec.
      observation_spec = env.observation_spec()
      self.assertEqual(type(observation_spec), specs.Array)
  
      # Test converted action spec.
      action_spec: specs.DiscreteArray = env.action_spec()
      self.assertEqual(type(action_spec), specs.DiscreteArray)
      self.assertEqual(action_spec.shape, ())
      self.assertEqual(action_spec.minimum, 0)
      self.assertEqual(action_spec.maximum, 17)
      self.assertEqual(action_spec.num_values, 18)
      self.assertEqual(action_spec.dtype, np.dtype("int32"))
  
      # Check that the `render` call gets delegated to the underlying Gym env.
      env.render("rgb_array")
  
      # Test step.
      timestep = env.reset()
      self.assertTrue(timestep.first())
      _ = env.step(0)
      env.close()
  
file_path: acme/acme/wrappers/atari_wrapper_test.py
imports: import unittest
  from acme.wrappers import atari_wrapper
  from dm_env import specs
  import numpy
  from absl.testing import absltest
  from absl.testing import parameterized
label_desc: Use image node_id 1 for calling the AtariWrapperTest obj's underlying member method code with example usage: obj.test_pong(zero_discount_on_life_loss) without return types