code: def test_data_splitting_defines_validation_blocks_correctly(
      forecast_length,
      cv_folds,
      split_ratio,
      check_cv_folds,
      check_split_ratio,
      check_validation_blocks,
  ):
      """Checks if validation blocks count defines correctly for different data"""
      data = get_ts_data_to_forecast(forecast_length, 120)
      data_source_splitter = DataSourceSplitter(
          cv_folds=cv_folds, split_ratio=split_ratio
      )
      data_source_splitter.build(data)
      assert data_source_splitter.cv_folds == check_cv_folds
      assert data_source_splitter.split_ratio == check_split_ratio
      assert (
          data_source_splitter.validation_blocks
          == check_validation_blocks
      )
  
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 18 for calling a global function with example usage: test_data_splitting_defines_validation_blocks_correctly(forecast_length, cv_folds, split_ratio, check_cv_folds, check_split_ratio, check_validation_blocks) without return types