code: def testSimple(self):
      np.random.seed(7)
      for shape in (2,), (3,), (2, 3), (3, 2), (8, 2, 10):
          rank = len(shape)
          for axis in range(-rank, rank):
              for dtype in [
                  np.bool_,
                  np.float32,
                  np.int32,
                  np.int64,
                  dtypes.float8_e5m2.as_numpy_dtype,
                  dtypes.float8_e4m3fn.as_numpy_dtype,
              ]:
                  data = self.randn(shape, dtype)
                  xs = np_split_squeeze(data, axis)
                  # Stack back into a single tensorflow tensor
                  with self.subTest(
                      shape=shape, axis=axis, dtype=dtype
                  ):
                      c = array_ops_stack.stack(xs, axis=axis)
                      self.assertAllEqual(c, data)
  
imports: import numpy
  from tensorflow.python import tf2
  from tensorflow.python.eager import context
  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 ops
  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 gen_array_ops
  from tensorflow.python.ops import gradient_checker_v2
  from tensorflow.python.ops import math_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 2 for calling the StackOpTest obj's underlying member method code with example usage: obj.testSimple() without return types