code: def test_array_init(
      input_type, dtype, shape, order, mem_type, force_gc
  ):
      input_array = create_cuml_array_input(
          input_type, dtype, shape, order
      )
      with using_memory_type(mem_type):
          cuml_array = CumlArray(data=input_array)
  
      # Test basic array properties
      assert cuml_array.dtype == dtype
  
      if input_type == "series":
          assert cuml_array.shape == series_squeezed_shape(shape)
      else:
          assert cuml_array.shape == normalized_shape(shape)
  
      # Order is only well-defined (and preserved) for multidimensional arrays.
      md = (
          isinstance(shape, tuple)
          and len([d for d in shape if d != 1]) > 1
      )
      assert cuml_array.order == order if md else "C"
  
      # Check input array and array equality.
      _assert_equal(input_array, cuml_array)
  
      # Check that data is kept in memory even when the input_array reference
      # is deleted.
      input_array_copy = deepcopy(cp.asarray(input_array))
      del input_array
      if force_gc:
          gc.collect()
  
      _assert_equal(input_array_copy, cuml_array)
  
imports: import gc
  import operator
  import pickle
  import pytest
  from copy import deepcopy
  from cuml.internals.array import CumlArray, _order_to_strides, array_to_memory_order
  from cuml import global_settings
  from cuml.internals.mem_type import MemoryType
  from cuml.internals.memory_utils import _get_size_from_shape, determine_array_memtype, using_memory_type
  from cuml.internals.safe_imports import cpu_only_import, cpu_only_import_from, gpu_only_import, gpu_only_import_from
  from cuml.testing.strategies import UNSUPPORTED_CUDF_DTYPES, create_cuml_array_input, cuml_array_dtypes, cuml_array_input_types, cuml_array_inputs, cuml_array_orders, cuml_array_output_types, cuml_array_shapes, cuml_array_mem_types
  from cuml.testing.utils import normalized_shape, series_squeezed_shape, squeezed_shape, to_nparray
  from hypothesis import assume, given, settings
  from hypothesis import strategies
label_desc: Use image node_id 4 for calling a global function with example usage: test_array_init(input_type, dtype, shape, order, mem_type, force_gc) without return types