code: def testPtp(self):
      def run_test(arr, *args, **kwargs):
          for fn in self.array_transforms:
              arg = fn(arr)
              self.match(
                  np_math_ops.ptp(arg, *args, **kwargs),
                  np.ptp(arg, *args, **kwargs),
              )
  
      run_test([1, 2, 3])
      run_test([1.0, 2.0, 3.0])
      run_test([[1, 2], [3, 4]], axis=1)
      run_test([[1, 2], [3, 4]], axis=0)
      run_test([[1, 2], [3, 4]], axis=-1)
      run_test([[1, 2], [3, 4]], axis=-2)
  
imports: import itertools
  from absl.testing import parameterized
  import numpy
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor
  from tensorflow.python.ops.numpy_ops import np_array_ops
  from tensorflow.python.ops.numpy_ops import np_arrays
  from tensorflow.python.ops.numpy_ops import np_math_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 21 for calling the MathTest obj's underlying member method code with example usage: obj.testPtp() without return types