code: def _all_gather_same_shape_and_verify(
      self, value_on_replica, axis, pure_eager, strategy
  ):
      per_replica_value = (
          strategy.experimental_distribute_values_from_function(
              lambda _: array_ops.identity(value_on_replica)
          )
      )
  
      def replica_fn(per_replica_value):
          ctx = distribute_lib.get_replica_context()
          local_value = array_ops.identity(per_replica_value)
          return ctx.all_gather(local_value, axis=axis)
  
      if not pure_eager:
          replica_fn = def_function.function(replica_fn)
  
      result = strategy.experimental_local_results(
          strategy.run(replica_fn, args=(per_replica_value,))
      )
  
      all_value = [
          value_on_replica for _ in range(strategy.num_replicas_in_sync)
      ]
      expect = array_ops.concat(all_value, axis=axis)
      expected_result = [expect] * _get_num_replicas_per_client(
          strategy
      )
  
      self.assertAllClose(expected_result, result)
  
imports: from absl.testing import parameterized
  from tensorflow.python.data.ops import dataset_ops
  from tensorflow.python.distribute import central_storage_strategy
  from tensorflow.python.distribute import combinations
  from tensorflow.python.distribute import distribute_lib
  from tensorflow.python.distribute import mirrored_strategy
  from tensorflow.python.distribute import strategy_combinations
  from tensorflow.python.distribute import test_util
  from tensorflow.python.distribute import tpu_strategy
  from tensorflow.python.distribute.collective_all_reduce_strategy import CollectiveAllReduceStrategy
  from tensorflow.python.eager import def_function
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import indexed_slices
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.platform import test
  from tensorflow.python.util import nest
label_desc: Use image node_id 13 for calling the GatherTest obj's underlying member method code with example usage: obj._all_gather_same_shape_and_verify(value_on_replica, axis, pure_eager, strategy) and returns: ctx