code: def test_cv_generator_works_stable(cv_generator, data):
      """Test if ts cv generator works stable (always return same folds)"""
      idx_first = []
      idx_second = []
      for row in cv_generator(
          data=data, stratify=False, random_seed=None
      ):
          idx_first.append(row[1].idx)
      for row in cv_generator(
          data=data, stratify=False, random_seed=None
      ):
          idx_second.append(row[1].idx)
  
      for i in range(len(idx_first)):
          assert np.all(idx_first[i] == idx_second[i])
  
imports: from functools import partial
  from typing import Callable
  import numpy
  import pandas
  import pytest
  from fedot.core.data.data import InputData
  from fedot.core.data.data_split import train_test_data_setup
  from fedot.core.data.multi_modal import MultiModalData
  from fedot.core.optimisers.objective.data_source_splitter import DataSourceSplitter
  from fedot.core.repository.dataset_types import DataTypesEnum
  from fedot.core.repository.tasks import Task, TaskTypesEnum, TsForecastingParams
  from fedot.core.utils import split_data
  from fedot.core.data.cv_folds import cv_generator
  from test.unit.pipelines.test_decompose_pipelines import get_classification_data
  from test.unit.tasks.test_forecasting import get_ts_data
label_desc: Use image node_id 17 for calling a global function with example usage: test_cv_generator_works_stable(cv_generator, data) without return types