code: def test_static_tensor_concatenate():
      def run(dtype, shape):
          mod = tvm.IRModule()
          p = Prelude(mod)
          static_tensor_array_ops = StaticTensorArrayOps(
              p, dtype, shape
          )
          static_tensor_array_ops.register()
  
          concat = p.get_global_var_static(
              "tensor_concatenate", dtype, shape
          )
          tensor = p.get_tensor_ctor_static(
              "tensor_constructor", dtype, shape
          )
          v1 = relay.var("v1")
          v2 = relay.var("v2")
          mod["main"] = relay.Function(
              [v1, v2], concat(tensor(v1), tensor(v2))
          )
          v1_data = np.random.uniform(
              low=0.0, high=8.0, size=shape
          ).astype(dtype)
          v2_data = np.random.uniform(
              low=0.0, high=8.0, size=shape
          ).astype(dtype)
          expected = [np.concatenate((v1_data, v2_data))]
          check_tensor_array(
              mod, expected, *(v1_data, v2_data), dtype=dtype
          )
  
      run(
          "float32",
          [
              5,
          ],
      )
      run("int32", [2, 3])
  
imports: import pytest
  import tvm
  from tvm import relay
  from tvm.relay import testing
  from tvm.relay.backend.interpreter import ConstructorValue
  from tvm.relay import create_executor
  from tvm.relay.prelude import Prelude, StaticTensorArrayOps
  from tvm.relay.testing import count, make_nat_value, make_nat_expr
  import numpy
label_desc: Use image node_id 15 for calling a global function with example usage: test_static_tensor_concatenate() without return types