code: def _testUnaryOp(self, math_fun, np_fun, name):
      def run_test(a):
          for fn in self.array_transforms:
              arg1 = fn(a)
              self.match(
                  math_fun(arg1),
                  np_fun(arg1),
                  msg="{}({})".format(name, arg1),
              )
  
      run_test(5)
      run_test([2, 3])
      run_test([[2, -3], [-6, 7]])
  
imports: import itertools
  from absl.testing import parameterized
  import numpy
  from six.moves import range
  import tensorflow.compat.v2
  from trax.tf_numpy.numpy_impl import array_ops
  from trax.tf_numpy.numpy_impl import arrays
  from trax.tf_numpy.numpy_impl import math_ops
label_desc: Use image node_id 8 for calling the MathTest obj's underlying member method code with example usage: obj._testUnaryOp(math_fun, np_fun, name) without return types