code: def test_spec_from_gym_space_box_scalars(self):
      for dtype in (np.float32, np.float64):
          box_space = gym.spaces.Box(-1.0, 1.0, (3, 4), dtype=dtype)
          spec = gym_wrapper.spec_from_gym_space(box_space)
  
          self.assertEqual((3, 4), spec.shape)
          self.assertEqual(dtype, spec.dtype)
          np.testing.assert_array_equal(-np.ones((3, 4)), spec.minimum)
          np.testing.assert_array_equal(np.ones((3, 4)), spec.maximum)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  from absl.testing.absltest import mock
  import gymnasium
  import numpy
  from tf_agents.environments import gymnasium_wrapper
  from tf_agents.utils import test_utils
label_desc: Use image node_id 5 for calling the GymnasiumWrapperSpecTest obj's underlying member method code with example usage: obj.test_spec_from_gym_space_box_scalars() without return types