code: def test_data_processing_config():
      actual_config = _TransformJob._prepare_data_processing(
          "$", None, None
      )
      assert actual_config == {"InputFilter": "$"}
  
      actual_config = _TransformJob._prepare_data_processing(
          None, "$", None
      )
      assert actual_config == {"OutputFilter": "$"}
  
      actual_config = _TransformJob._prepare_data_processing(
          None, None, "Input"
      )
      assert actual_config == {"JoinSource": "Input"}
  
      actual_config = _TransformJob._prepare_data_processing(
          "$[0]", "$[1]", "Input"
      )
      assert actual_config == {
          "InputFilter": "$[0]",
          "OutputFilter": "$[1]",
          "JoinSource": "Input",
      }
  
      actual_config = _TransformJob._prepare_data_processing(
          None, None, None
      )
      assert actual_config is None
  
imports: from __future__ import absolute_import
  import pytest
  from mock import MagicMock, Mock, patch, PropertyMock
  from sagemaker.session_settings import SessionSettings
  from sagemaker.transformer import _TransformJob, Transformer
  from sagemaker.workflow.pipeline_context import PipelineSession, _PipelineConfig
  from sagemaker.inputs import BatchDataCaptureConfig
  from sagemaker.workflow.pipeline_definition_config import PipelineDefinitionConfig
  from tests.integ import test_local_mode
  from tests.unit import SAGEMAKER_CONFIG_TRANSFORM_JOB
label_desc: Use image node_id 33 for calling a global function with example usage: test_data_processing_config() without return types