code: def test_complicated_table_types_processed_correctly():
      """Checking correctness of table type detection and type conversions"""
      train_data, test_data = data_with_complicated_types()
  
      pipeline = Pipeline(PipelineNode("dt"))
      pipeline = correct_preprocessing_params(
          pipeline, categorical_max_uniques_th=13
      )
      train_predicted = pipeline.fit(train_data)
      pipeline.predict(test_data)
  
      # Table types corrector after fitting
      types_correctors = pipeline.preprocessor.types_correctors
      assert train_predicted.features.shape[1] == 57
      # Source id 9 became 7th - column must be converted into float
      assert (
          types_correctors[DEFAULT_SOURCE_NAME].categorical_into_float[
              0
          ]
          == 1
      )
      # Three columns in the table must be converted into string
      assert (
          len(types_correctors[DEFAULT_SOURCE_NAME].numerical_into_str)
          == 4
      )
  
imports: import numpy
  import pandas
  from golem.core.log import default_log
  from fedot.core.data.data import InputData
  from fedot.core.data.data_split import train_test_data_setup
  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.tasks import Task, TaskTypesEnum
  from fedot.core.utils import fedot_project_root
  from fedot.preprocessing.data_types import TYPE_TO_ID
  from fedot.preprocessing.data_types import TableTypesCorrector, apply_type_transformation
  from fedot.preprocessing.structure import DEFAULT_SOURCE_NAME
  from test.unit.preprocessing.test_pipeline_preprocessing import correct_preprocessing_params, data_with_mixed_types_in_each_column
label_desc: Use image node_id 7 for calling a global function with example usage: test_complicated_table_types_processed_correctly() without return types