class_docstr: Unit test Smart Predictor class
class_docstr_tok: ["Unit","test","Smart","Predictor","class"]
docstr: Unit test check mask params
docstr_tok: ["Unit","test","check","mask","params"]
code: def test_check_mask_params(
      self,
      check_consistency_model_label,
      check_consistency_model_features,
      check_preprocessing_options,
      check_model,
  ):
      """
      Unit test check mask params
      """
      train = pd.DataFrame(
          {
              "Onehot1": ["A", "B", "A", "B"],
              "Onehot2": ["C", "D", "C", "D"],
              "Binary1": ["E", "F", "E", "F"],
              "Binary2": ["G", "H", "G", "H"],
              "Ordinal1": ["I", "J", "I", "J"],
              "Ordinal2": ["K", "L", "K", "L"],
              "BaseN1": ["M", "N", "M", "N"],
              "BaseN2": ["O", "P", "O", "P"],
              "Target1": ["Q", "R", "Q", "R"],
              "Target2": ["S", "T", "S", "T"],
              "other": ["other", np.nan, "other", "other"],
          }
      )
  
      features_dict = None
      columns_dict = {
          i: features for i, features in enumerate(train.columns)
      }
      features_types = {
          features: str(train[features].dtypes)
          for features in train.columns
      }
      label_dict = None
  
      enc_ordinal = ce.OrdinalEncoder(
          cols=[
              "Onehot1",
              "Onehot2",
              "Binary1",
              "Binary2",
              "Ordinal1",
              "Ordinal2",
              "BaseN1",
              "BaseN2",
              "Target1",
              "Target2",
              "other",
          ]
      ).fit(train)
      train_ordinal = enc_ordinal.transform(train)
  
      y = pd.DataFrame({"y_class": [0, 0, 0, 1]})
  
      model = cb.CatBoostClassifier(n_estimators=1).fit(
          train_ordinal, y
      )
      backend = ShapBackend(model=model)
  
      check_preprocessing_options.return_value = True
      check_consistency_model_features.return_value = True
      check_consistency_model_label.return_value = True
      check_model.return_value = "classification", [0, 1]
  
      wrong_mask_params_1 = list()
      wrong_mask_params_2 = None
      wrong_mask_params_3 = {
          "features_to_hide": None,
          "threshold": None,
          "positive": None,
      }
      wright_mask_params = {
          "features_to_hide": None,
          "threshold": None,
          "positive": True,
          "max_contrib": 5,
      }
      with self.assertRaises(ValueError):
          predictor_1 = SmartPredictor(
              features_dict,
              model,
              columns_dict,
              backend,
              features_types,
              label_dict,
              mask_params=wrong_mask_params_1,
          )
          predictor_1 = SmartPredictor(
              features_dict,
              model,
              columns_dict,
              backend,
              features_types,
              label_dict,
              mask_params=wrong_mask_params_2,
          )
          predictor_1 = SmartPredictor(
              features_dict,
              model,
              columns_dict,
              backend,
              features_types,
              label_dict,
              mask_params=wrong_mask_params_3,
          )
  
      predictor_1 = SmartPredictor(
          features_dict,
          model,
          columns_dict,
          backend,
          features_types,
          label_dict,
          mask_params=wright_mask_params,
      )
  
imports: import unittest
  from shapash.explainer.smart_predictor import SmartPredictor
  from shapash import SmartExplainer
  from shapash.explainer.smart_state import SmartState
  from shapash.explainer.multi_decorator import MultiDecorator
  from shapash.backend import ShapBackend
  import os
  from os import path
  from pathlib import Path
  import pandas
  import numpy
  import catboost
  from catboost import Pool
  import category_encoders
  from unittest.mock import patch
  import types
  from sklearn.compose import ColumnTransformer
  import sklearn.preprocessing
  import shap
label_desc: Use image node_id 14 for calling the TestSmartPredictor obj's underlying member method code with example usage: obj.test_check_mask_params(check_consistency_model_label, check_consistency_model_features, check_preprocessing_options, check_model) without return types