code: def test_unary_cwise_ops(self):
      for op in [array_ops.identity, array_ops.stop_gradient]:
          with backprop.GradientTape(persistent=True) as g:
              x = random_ops.random_uniform([3, 5])
              g.watch(x)
  
          # pylint: disable=cell-var-from-loop
          def loop_fn(i):
              with g:
                  x1 = array_ops.gather(x, i)
                  y = op(x1) + x1
                  loss = nn.l2_loss(y)
              return op(x), y, g.gradient(loss, x1)
  
          # pylint: enable=cell-var-from-loop
  
          self._test_loop_fn(loop_fn, 3)
  
imports: from tensorflow.python.eager import backprop
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import array_ops_stack
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nn
  from tensorflow.python.ops import random_ops
  from tensorflow.python.ops import tensor_array_grad
  from tensorflow.python.ops.parallel_for import control_flow_ops
  from tensorflow.python.ops.parallel_for.test_util import PForTestCase
  from tensorflow.python.platform import test
label_desc: Use image node_id 31 for calling the ArrayTest obj's underlying member method code with example usage: obj.test_unary_cwise_ops() and returns: op,  y,  g