code: def get_mixed_data(task=None, extended=False):
      """Generate InputData with five categorical features. The categorical features
      are created in such a way that in any splitting there will be categories in the
      test part that were not in the train.
      """
      if extended:
          features = np.array(
              [
                  [1, "0", "1", 1, "5", "blue", "blue"],
                  [2, "1", "0", 0, "4", "blue", "da"],
                  [3, "1", "0", 1, "3", "blue", "ba"],
                  [np.nan, np.nan, "1", np.nan, "2", "not blue", "di"],
                  [8, "1", "1", 0, "1", "not blue", "da bu"],
                  [9, "0", "0", 0, "0", "not blue", "dai"],
              ],
              dtype=object,
          )
          feature_type_ids = np.array(
              [
                  TYPE_TO_ID[int],
                  TYPE_TO_ID[str],
                  TYPE_TO_ID[str],
                  TYPE_TO_ID[int],
                  TYPE_TO_ID[str],
                  TYPE_TO_ID[str],
                  TYPE_TO_ID[str],
              ]
          )
          target_type_ids = np.array([TYPE_TO_ID[int]])
          supp_data = SupplementaryData(
              col_type_ids={
                  "features": feature_type_ids,
                  "target": target_type_ids,
              }
          )
      else:
          features = np.array(
              [
                  [1, "0", 1],
                  [2, "1", 0],
                  [3, "1", 0],
                  [7, "1", 1],
                  [8, "1", 1],
                  [9, "0", 0],
              ],
              dtype=object,
          )
          feature_type_ids = np.array(
              [TYPE_TO_ID[int], TYPE_TO_ID[str], TYPE_TO_ID[int]]
          )
          target_type_ids = np.array([TYPE_TO_ID[int]])
          supp_data = SupplementaryData(
              col_type_ids={
                  "features": feature_type_ids,
                  "target": target_type_ids,
              }
          )
  
      train_input = InputData(
          idx=[0, 1, 2, 3, 4, 5],
          features=features,
          target=np.array([[0], [0], [0], [1], [1], [1]]),
          task=task,
          data_type=DataTypesEnum.table,
          supplementary_data=supp_data,
      )
  
      return train_input
  
imports: import os
  import numpy
  import pytest
  from examples.simple.classification.classification_with_tuning import get_classification_dataset
  from examples.simple.regression.regression_with_tuning import get_regression_dataset
  from examples.simple.time_series_forecasting.gapfilling import generate_synthetic_data
  from fedot.core.data.data import InputData
  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_imbalanced_class import ResampleImplementation
  from fedot.core.operations.evaluation.operation_implementations.data_operations.sklearn_transformations import ImputationImplementation
  from fedot.core.operations.evaluation.operation_implementations.data_operations.ts_transformations import CutImplementation, LaggedTransformationImplementation
  from fedot.core.operations.operation_parameters import 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 OperationTypesRepository
  from fedot.core.repository.tasks import Task, TaskTypesEnum, TsForecastingParams
  from fedot.preprocessing.data_types import TYPE_TO_ID
  from test.unit.preprocessing.test_preprocessing_through_api import data_with_only_categorical_features
label_desc: Use image node_id 7 for calling a global function with example usage: get_mixed_data(task, extended) and returns: train_input