code: def test_classification_models_fit_predict_correct(
      data_fixture, request
  ):
      data = request.getfixturevalue(data_fixture)
      train_data, test_data = train_test_data_setup(data=data)
      roc_threshold = 0.95
      logger = default_log(prefix="default_test_logger")
  
      with OperationTypesRepository() as repo:
          model_names = repo.suitable_operation(
              task_type=TaskTypesEnum.classification,
              data_type=data.data_type,
              tags=["ml"],
          )
  
      for model_name in model_names:
          logger.info(f"Test classification model: {model_name}.")
          model = Model(operation_type=model_name)
          fitted_operation, train_predicted = model.fit(
              params=None, data=train_data
          )
          test_pred = model.predict(
              fitted_operation=fitted_operation, data=test_data
          )
          roc_on_test = get_roc_auc(
              valid_data=test_data, predicted_data=test_pred
          )
          if model_name not in ["bernb", "multinb"]:
              assert roc_on_test >= roc_threshold
          else:
              assert roc_on_test >= 0.45
  
          assert check_predict_correct(
              model, fitted_operation, test_data
          )
  
imports: import pickle
  from copy import deepcopy
  from time import perf_counter
  from typing import Tuple, Optional
  import numpy
  import pytest
  from golem.core.log import default_log
  from sklearn.datasets import make_classification
  from sklearn.metrics import mean_absolute_error, mean_squared_error, roc_auc_score
  from sklearn.preprocessing import MinMaxScaler
  from fedot.core.constants import FAST_TRAIN_PRESET_NAME
  from fedot.core.data.data import InputData, OutputData
  from fedot.core.data.data_split import train_test_data_setup
  from fedot.core.data.supplementary_data import SupplementaryData
  from fedot.core.operations.evaluation.operation_implementations.data_operations.sklearn_transformations import PCAImplementation
  from fedot.core.operations.evaluation.operation_implementations.models.discriminant_analysis import LDAImplementation
  from fedot.core.operations.evaluation.operation_implementations.models.ts_implementations.naive import NaiveAverageForecastImplementation, RepeatLastValueImplementation
  from fedot.core.operations.evaluation.operation_implementations.models.ts_implementations.statsmodels import GLMImplementation
  from fedot.core.operations.model import Model
  from fedot.core.operations.operation_parameters import get_default_params, OperationParameters
  from fedot.core.pipelines.node import PipelineNode
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot.core.repository.dataset_types import DataTypesEnum
  from fedot.core.repository.operation_types_repository import OperationMetaInfo, OperationTypesRepository
  from fedot.core.repository.tasks import Task, TaskTypesEnum, TsForecastingParams
  from fedot.core.utils import fedot_project_root
  from test.unit.common_tests import is_predict_ignores_target
  from test.unit.data_operations.test_time_series_operations import synthetic_univariate_ts
  from test.unit.tasks.test_forecasting import get_ts_data, get_ts_data_with_dt_idx
  from test.unit.tasks.test_regression import get_synthetic_regression_data
label_desc: Use image node_id 11 for calling a global function with example usage: test_classification_models_fit_predict_correct(data_fixture, request) without return types