code: def test_assumptions_builder_for_multimodal_data():
      mm_data, _ = get_single_task_multimodal_tabular_data()
  
      mm_data = DataPreprocessor().obligatory_prepare_for_fit(
          data=mm_data
      )
      mm_builder = MultiModalAssumptionsBuilder(mm_data)
      mm_pipeline: Pipeline = mm_builder.build()[0]
      assert pipeline_contains_all(mm_pipeline, *mm_data)
      assert len(
          list(filter(lambda node: node.is_primary, mm_pipeline.nodes))
      )
      assert (
          len(mm_pipeline.root_node.nodes_from) == mm_data.num_classes
      )
      assert mm_pipeline.length == mm_pipeline.depth * len(mm_data) - 1
  
imports: from functools import partial
  from typing import Union
  import numpy
  from fedot.api.api_utils.assumptions.assumptions_builder import UniModalAssumptionsBuilder, MultiModalAssumptionsBuilder, AssumptionsBuilder
  from fedot.api.api_utils.assumptions.preprocessing_builder import PreprocessingBuilder
  from fedot.core.data.data import InputData
  from fedot.core.data.multi_modal import MultiModalData
  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 TaskTypesEnum, Task, TsForecastingParams
  from fedot.preprocessing.data_types import TableTypesCorrector
  from fedot.preprocessing.preprocessing import DataPreprocessor
  from test.integration.api.test_main_api import get_dataset
  from test.unit.dag.test_graph_utils import graphs_same
  from test.unit.data_operations.test_data_operations_implementations import get_time_series, get_small_regression_dataset
  from test.unit.multimodal.data_generators import get_single_task_multimodal_tabular_data
label_desc: Use image node_id 9 for calling a global function with example usage: test_assumptions_builder_for_multimodal_data() without return types