code: def test_correct_number_of_discrete_actions_2d(self):
      env_discrete = gym_utils.ActionDiscretizeWrapper(
          gym_utils.RenderedEnv(
              SimpleContinuousActionsEnv(dimensions=2)
          ),
          num_actions=4,
      )
  
      expected_action_space = gym.spaces.MultiDiscrete([4, 4])
      self.assertEqual(env_discrete.action_space, expected_action_space)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import unittest
  import gym
  from gym import spaces
  import numpy
  from tensor2tensor.rl import gym_utils
  import tensorflow.compat.v1
label_desc: Use image node_id 8 for calling the GymUtilsTest obj's underlying member method code with example usage: obj.test_correct_number_of_discrete_actions_2d() without return types