code: def test_search_space_get_operation_parameter_range():
      default_search_space = PipelineSearchSpace()
      gbr_operations = [
          "loss",
          "learning_rate",
          "max_depth",
          "min_samples_split",
          "min_samples_leaf",
          "subsample",
          "max_features",
          "alpha",
      ]
  
      custom_search_space = {
          "gbr": {
              "max_depth": {
                  "hyperopt-dist": hp.choice,
                  "sampling-scope": [[3, 7, 31, 127, 8191, 131071]],
                  "type": "categorical",
              }
          }
      }
      custom_search_space_without_replace = PipelineSearchSpace(
          custom_search_space=custom_search_space,
          replace_default_search_space=False,
      )
      custom_search_space_with_replace = PipelineSearchSpace(
          custom_search_space=custom_search_space,
          replace_default_search_space=True,
      )
  
      default_operations = (
          default_search_space.get_parameters_for_operation("gbr")
      )
      custom_without_replace_operations = custom_search_space_without_replace.get_parameters_for_operation(
          "gbr"
      )
      custom_with_replace_operations = (
          custom_search_space_with_replace.get_parameters_for_operation(
              "gbr"
          )
      )
  
      assert default_operations == gbr_operations
      assert custom_without_replace_operations == gbr_operations
      assert custom_with_replace_operations == ["max_depth"]
  
imports: import os
  from time import time
  import pytest
  from fedot.core.repository.dataset_types import DataTypesEnum
  from golem.core.tuning.hyperopt_tuner import get_node_parameters_for_hyperopt
  from golem.core.tuning.iopt_tuner import IOptTuner
  from golem.core.tuning.optuna_tuner import OptunaTuner
  from golem.core.tuning.sequential import SequentialTuner
  from golem.core.tuning.simultaneous import SimultaneousTuner
  from golem.utilities.data_structures import ensure_wrapped_in_sequence
  from hyperopt import hp
  from hyperopt.pyll.stochastic import sample
  from examples.simple.time_series_forecasting.ts_pipelines import ts_complex_ridge_smoothing_pipeline, ts_glm_pipeline
  from fedot.core.data.data import InputData
  from fedot.core.data.data_split import train_test_data_setup
  from fedot.core.operations.evaluation.operation_implementations.models.ts_implementations.statsmodels import GLMImplementation
  from fedot.core.pipelines.node import PipelineNode
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot.core.pipelines.tuning.search_space import PipelineSearchSpace
  from fedot.core.pipelines.tuning.tuner_builder import TunerBuilder
  from fedot.core.repository.metrics_repository import RegressionMetricsEnum, ClassificationMetricsEnum
  from fedot.core.repository.tasks import Task, TaskTypesEnum
  from fedot.core.utils import fedot_project_root, NESTED_PARAMS_LABEL
  from test.unit.multimodal.data_generators import get_single_task_multimodal_tabular_data, get_multimodal_pipeline
  from test.unit.tasks.test_forecasting import get_ts_data
label_desc: Use image node_id 33 for calling a global function with example usage: test_search_space_get_operation_parameter_range() without return types