code: def test_auto_fit(input_type, input_dtype, input_shape):
      """
      Test autowrapping on fit that will set output_type, and n_features
      """
      X_in = create_input(input_type, input_dtype, input_shape, "C")
  
      # Test with output_type="input"
      est = DummyTestEstimator()
  
      est.fit(X_in)
  
      def calc_n_features(shape):
          if isinstance(shape, tuple) and len(shape) >= 1:
              # When cudf and shape[1] is used, a series is created which will
              # remove the last shape
              if input_type == "cudf" and shape[1] == 1:
                  return None
  
              return shape[1]
  
          return None
  
      assert est._input_type == input_type
      assert est.target_dtype is None
      assert est.n_features_in_ == calc_n_features(input_shape)
  
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 6 for calling a global function with example usage: test_auto_fit(input_type, input_dtype, input_shape) and returns: None, shape, None