code: def test_different_ranks(
      self,
      input_array,
      axis,
      keepdims,
      truth,
      truth_shape,
      separator="",
  ):
      with self.cached_session():
          input_tensor = ragged_factory_ops.constant(input_array)
          output = ragged_string_ops.reduce_join(
              inputs=input_tensor,
              axis=axis,
              keepdims=keepdims,
              separator=separator,
          )
          output_array = self.evaluate(output)
      self.assertAllEqual(truth, output_array)
      if all(
          isinstance(s, tensor_shape.Dimension) for s in output.shape
      ):
          output_shape = [dim.value for dim in output.shape]
      else:
          output_shape = output.shape
      self.assertAllEqual(truth_shape, output_shape)
  
file_path: tensorflow/tensorflow/python/ops/ragged/strings_reduce_join_op_test.py
imports: from absl.testing import parameterized
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops.ragged import ragged_factory_ops
  from tensorflow.python.ops.ragged import ragged_string_ops
  from tensorflow.python.platform import googletest
label_desc: Use image node_id 2 for calling the StringsReduceJoinOpTest obj's underlying member method code with example usage: obj.test_different_ranks(input_array, axis, keepdims, truth, truth_shape, separator) without return types