code: def test_column_types_converting_correctly():
      """Generate dataset with mixed data types per columns and then apply correction procedure.
      After converting into new types, field "column_types" for target and features is checked
      """
      data = data_with_mixed_types_in_each_column(multi_output=True)
      # Remove column full of nans (column with id 0)
      data.features = data.features[:, 1:]
  
      types_corr = TableTypesCorrector()
      data = types_corr.convert_data_for_fit(data)
  
      feature_type_ids = data.supplementary_data.col_type_ids[
          "features"
      ]
      target_type_ids = data.supplementary_data.col_type_ids["target"]
  
      assert len(feature_type_ids) == 4
      assert len(target_type_ids) == 2
      assert (feature_type_ids[[0, 1, 2]] == TYPE_TO_ID[str]).all()
      assert (target_type_ids == TYPE_TO_ID[str]).all()
  
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 5 for calling a global function with example usage: test_column_types_converting_correctly() without return types