code: def test_analysis_config_generator_for_explainability_failing(
      data_config, model_config
  ):
      model_scores = ModelPredictedLabelConfig(
          probability="pr",
          label_headers=["success"],
      )
      with pytest.raises(
          ValueError,
          match="PDP features must be provided when ShapConfig is not provided",
      ):
          _AnalysisConfigGenerator.explainability(
              data_config,
              model_config,
              model_scores,
              PDPConfig(),
          )
  
      with pytest.raises(
          ValueError,
          match="Duplicate explainability configs are provided",
      ):
          _AnalysisConfigGenerator.explainability(
              data_config,
              model_config,
              model_scores,
              [SHAPConfig(), SHAPConfig()],
          )
  
      with pytest.raises(
          AttributeError,
          match="analysis_config must have at least one working method: "
          "One of the "
          "`pre_training_methods`, `post_training_methods`, `explainability_config`.",
      ):
          _AnalysisConfigGenerator.explainability(
              data_config,
              model_config,
              model_scores,
              [],
          )
  
imports: from __future__ import absolute_import, print_function
  import copy
  import pytest
  from mock import MagicMock, Mock, patch
  from sagemaker import Processor, image_uris
  from sagemaker.clarify import BiasConfig, DataConfig, ModelConfig, ModelPredictedLabelConfig, PDPConfig, SageMakerClarifyProcessor, SHAPConfig, TextConfig, ImageConfig, _AnalysisConfigGenerator, DatasetType, ProcessingOutputHandler, SegmentationConfig
label_desc: Use image node_id 49 for calling a global function with example usage: test_analysis_config_generator_for_explainability_failing(data_config, model_config) without return types