code: def testCorrectOutput(self):
      values = np.array([[3, 1, 4, 1], [5, 9, 2, 6], [5, 3, 5, 7]])
      indices = np.array([[1, 2, 0, 3], [3, 0, 1, 2], [0, 2, 1, 3]])
      target = np.array([[1, 4, 3, 1], [6, 5, 9, 2], [5, 5, 3, 7]])
      result = util.batch_gather(
          tf.constant(values), tf.constant(indices)
      )
      self.assertAllEqual(target, result)
  
imports: from absl.testing import parameterized
  import numpy
  from sonnet.src import linear
  from sonnet.src import test_utils
  from sonnet.src.nets.dnc import util
  import tensorflow
  import tree
label_desc: Use image node_id 1 for calling the BatchGatherTest obj's underlying member method code with example usage: obj.testCorrectOutput() without return types