code: def test_column_inference(
      self,
      preprocessing_fn,
      expected_analyze_input_columns,
      expected_transform_input_columns,
      force_tf_compat_v1,
  ):
      if not force_tf_compat_v1:
          test_case.skip_if_not_tf2("Tensorflow 2.x required")
          specs = _TYPE_SPEC
      else:
          specs = _FEATURE_SPEC
  
      analyze_input_columns = (
          inspect_preprocessing_fn.get_analyze_input_columns(
              preprocessing_fn, specs, force_tf_compat_v1
          )
      )
      transform_input_columns = (
          inspect_preprocessing_fn.get_transform_input_columns(
              preprocessing_fn, specs, force_tf_compat_v1
          )
      )
      self.assertCountEqual(
          analyze_input_columns, expected_analyze_input_columns
      )
      self.assertCountEqual(
          transform_input_columns, expected_transform_input_columns
      )
  
file_path: transform/tensorflow_transform/inspect_preprocessing_fn_test.py
imports: import tensorflow
  from tensorflow_transform import analyzers
  from tensorflow_transform import inspect_preprocessing_fn
  from tensorflow_transform import mappers
  from tensorflow_transform import test_case
label_desc: Use image node_id 1 for calling the InspectPreprocessingFnTest obj's underlying member method code with example usage: obj.test_column_inference(preprocessing_fn, expected_analyze_input_columns, expected_transform_input_columns, force_tf_compat_v1) without return types