code: def test_pipeline_hierarchy_fit_correct(data_setup):
      data = data_setup
      train, _ = train_test_data_setup(data)
  
      first = PipelineNode(operation_type="logit")
      second = PipelineNode(operation_type="logit", nodes_from=[first])
      third = PipelineNode(operation_type="logit", nodes_from=[first])
      final = PipelineNode(
          operation_type="logit", nodes_from=[second, third]
      )
  
      pipeline = Pipeline()
      for node in [first, second, third, final]:
          pipeline.add_node(node)
  
      pipeline.unfit()
      train_predicted = pipeline.fit(input_data=train)
  
      assert pipeline.root_node.descriptive_id == (
          "((/n_logit;)/"
          "n_logit;;(/"
          "n_logit;)/"
          "n_logit;)/"
          "n_logit"
      )
  
      assert pipeline.length == 4
      assert pipeline.depth == 3
      assert train_predicted.predict.shape[0] == train.target.shape[0]
      assert final.fitted_operation is not None
  
imports: import datetime
  import os
  import platform
  import time
  from copy import deepcopy
  from multiprocessing import set_start_method
  import numpy
  import pytest
  from sklearn.datasets import load_iris
  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, TsForecastingParams
  from fedot.core.utils import probs_to_labels
  from fedot.preprocessing.preprocessing import DataPreprocessor
  from test.integration.composer.test_composer import to_categorical_codes
  from test.integration.models.test_model import classification_dataset_with_redundant_features
  from test.unit.dag.test_graph_operator import get_pipeline
  from test.unit.pipelines.test_pipeline_comparison import pipeline_first
  from test.unit.tasks.test_forecasting import get_ts_data
label_desc: Use image node_id 5 for calling a global function with example usage: test_pipeline_hierarchy_fit_correct(data_setup) without return types