code: def test_data_merge_ts_different_fit_lengths(output_ts_different_idx):
      output_short, output_long = output_ts_different_idx
      shared_idx = np.intersect1d(output_short.idx, output_long.idx)
  
      merged_data = DataMerger.get([output_short, output_long]).merge()
  
      # test index validity
      assert np.isin(merged_data.idx, output_short.idx).all()
      assert np.isin(merged_data.idx, output_long.idx).all()
      assert np.isin(shared_idx, merged_data.idx).all()
      assert len(merged_data.idx) == len(merged_data.features)
  
      # test features validity
      assert merged_data.features.shape[1] == 2
      assert np.isin(
          merged_data.features[:, 0], output_short.predict
      ).all()
      assert np.isin(
          merged_data.features[:, 1], output_long.predict
      ).all()
  
file_path: FEDOT/test/unit/data/test_data_merge_ts.py
imports: from itertools import product
  import numpy
  import pytest
  from fedot.core.data.data import OutputData
  from fedot.core.data.merge.data_merger import DataMerger
  from fedot.core.pipelines.pipeline_builder import PipelineBuilder
  from fedot.core.repository.dataset_types import DataTypesEnum
  from fedot.core.repository.tasks import Task, TaskTypesEnum, TsForecastingParams
  from fedot.utilities.synth_dataset_generator import generate_synthetic_data
  from test.unit.data_operations.test_data_operations_implementations import get_time_series
label_desc: Use image node_id 9 for calling a global function with example usage: test_data_merge_ts_different_fit_lengths(output_ts_different_idx) without return types