code: def test_numpy_multi_dim_pandas(cast_tensor_columns):
      input_data = np.arange(12).reshape((3, 2, 2))
      expected_output = pd.DataFrame(
          {TENSOR_COLUMN_NAME: list(input_data)}
      )
      actual_output = _convert_batch_type_to_pandas(
          input_data, cast_tensor_columns
      )
      pd.testing.assert_frame_equal(expected_output, actual_output)
  
      output_array = _convert_pandas_to_batch_type(
          actual_output,
          type=BatchFormat.NUMPY,
          cast_tensor_columns=cast_tensor_columns,
      )
      np.testing.assert_array_equal(
          np.array(list(output_array)), input_data
      )
  
imports: import pytest
  import warnings
  import pandas
  import numpy
  import pyarrow
  from ray.air._internal.torch_utils import convert_ndarray_to_torch_tensor
  from ray.air.constants import TENSOR_COLUMN_NAME
  from ray.air.util.data_batch_conversion import _convert_batch_type_to_pandas, _convert_pandas_to_batch_type, _convert_batch_type_to_numpy, _cast_ndarray_columns_to_tensor_extension, _cast_tensor_columns_to_ndarrays
  from ray.air.util.data_batch_conversion import BatchFormat
  from ray.air.util.tensor_extensions.pandas import TensorArray
  from ray.air.util.tensor_extensions.arrow import ArrowTensorArray
label_desc: Use image node_id 8 for calling a global function with example usage: test_numpy_multi_dim_pandas(cast_tensor_columns) without return types