code: def test_empty_roundtrip(self):
      for typ in self._test_pyarrow_types:
          with self.subTest(typ=typ):
              with self.assert_pyarrow_memory_released():
                  a = pa.array([], typ)
                  a._export_to_c(self.ptr_array)
                  typ._export_to_c(self.ptr_schema)
  
                  c_arr = ffi.new("struct ArrowArray*")
                  ptr_arr = int(ffi.cast("uintptr_t", c_arr))
  
                  cgotest.roundtripArray(
                      self.ptr_array, self.ptr_schema, ptr_arr
                  )
                  b = pa.Array._import_from_c(ptr_arr, typ)
                  b.validate(full=True)
                  assert a.to_pylist() == b.to_pylist()
                  assert a.type == b.type
                  del a
                  del b
  
imports: import contextlib
  import gc
  import os
  import unittest
  import pyarrow
  from pyarrow.cffi import ffi
label_desc: Use image node_id 3 for calling the TestRoundTrip obj's underlying member method code with example usage: obj.test_empty_roundtrip() without return types