code: def test_dec_input_output(
      input_type, input_dtype, input_shape, output_type
  ):
      if input_type == "cudf" or output_type == "cudf":
          if input_dtype in unsupported_cudf_dtypes:
              pytest.skip("Unsupported cudf combination")
  
      X_in = create_input(input_type, input_dtype, input_shape, "C")
      X_out = create_output(X_in, output_type)
  
      # Test with output_type="input"
      est = DummyTestEstimator(output_type="input")
  
      est.store_input(X_in)
  
      # Test is was stored internally correctly
      assert X_in is est.get_input()
  
      assert est.__dict__["input_any_"].input_type == input_type
  
      # Check the current type matches input type
      assert determine_array_type(est.input_any_) == input_type
  
      assert_array_identical(est.input_any_, X_in)
  
      # Switch output type and check type and equality
      with cuml.using_output_type(output_type):
          assert determine_array_type(est.input_any_) == output_type
  
          assert_array_identical(est.input_any_, X_out)
  
      # Now Test with output_type=output_type
      est = DummyTestEstimator(output_type=output_type)
  
      est.store_input(X_in)
  
      # Check the current type matches output type
      assert determine_array_type(est.input_any_) == output_type
  
      assert_array_identical(est.input_any_, X_out)
  
      with cuml.using_output_type("input"):
          assert determine_array_type(est.input_any_) == input_type
  
          assert_array_identical(est.input_any_, X_in)
  
imports: from cuml.internals.input_utils import input_to_cuml_array
  from cuml.internals.input_utils import determine_array_type
  from cuml.internals.input_utils import determine_array_dtype
  from cuml.common.array_descriptor import CumlArrayDescriptor
  from cuml.internals.array import CumlArray
  import pytest
  from cuml.internals.safe_imports import cpu_only_import
  import pickle
  import cuml
  import cuml.internals
  from cuml.internals.safe_imports import gpu_only_import
label_desc: Use image node_id 5 for calling a global function with example usage: test_dec_input_output(input_type, input_dtype, input_shape, output_type) without return types