code: def test_input_types(self, x_dtype, min_max_dtype):
      # Tests combinations of input dtypes.
      stage = stages_impl.UniformQuantizationEncodingStage(
          bits=8, min_max=tf.constant([-1.0, 1.0], min_max_dtype)
      )
      x = tf.random.normal([50], dtype=x_dtype)
      encode_params, decode_params = stage.get_params()
      encoded_x, decoded_x = self.encode_decode_x(
          stage, x, encode_params, decode_params
      )
      test_data = test_utils.TestData(x, encoded_x, decoded_x)
      test_data = self.evaluate_test_data(test_data)
  
      self.assertLess(np.amin(test_data.x), -1.0)
      self.assertGreater(np.amax(test_data.x), 1.0)
      self.assertAllGreaterEqual(test_data.decoded_x, -1.0)
      self.assertAllLessEqual(test_data.decoded_x, 1.0)
  
imports: import itertools
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tensorflow_model_optimization.python.core.internal.tensor_encoding.stages import stages_impl
  from tensorflow_model_optimization.python.core.internal.tensor_encoding.testing import test_utils
label_desc: Use image node_id 9 for calling the UniformQuantizationEncodingStageStageTest obj's underlying member method code with example usage: obj.test_input_types(x_dtype, min_max_dtype) without return types