code: def generate_test_inputs(season_length: int) -> list():
      base_models = [AutoARIMA, AutoETS]
      model_params = {"season_length": season_length}
      reconcilers = {
          "BottomUp": BottomUp,
          "TopDown": TopDown,
          "MiddleOut": MiddleOut,
          "MinTrace": MinTrace,
          "OptimalCombination": OptimalCombination,
          "ERM": ERM,
      }
  
      top_down_proportions = [
          "forecast_proportions",
          "average_proportions",
          "proportion_averages",
      ]
      mintrace_methods = ["ols", "wls_struct", "wls_var", "mint_shrink"]
      optimalcombination_methods = ["ols", "wls_struct"]
      erm_methods = ["closed", "reg", "reg_bu"]
  
      reconciler_params = {
          "BottomUp": [{}],
          "TopDown": [
              {"method": method} for method in top_down_proportions
          ],
          "MiddleOut": [
              {"top_down_method": method, "middle_level": "L0/L1"}
              for method in top_down_proportions
          ],
          "MinTrace": [
              {"method": method} for method in mintrace_methods
          ],
          "OptimalCombination": [
              {"method": method}
              for method in optimalcombination_methods
          ],
          "ERM": [{"method": method} for method in erm_methods],
      }
  
      test_input = []
      for base_model in base_models:
          for reconciler in reconcilers:
              test_input.extend(
                  list(
                      itertools.product(
                          [base_model],
                          [reconcilers[reconciler]],
                          [model_params],
                          reconciler_params[reconciler],
                      )
                  )
              )
  
      return test_input
  
file_path: gluonts/test/ext/hierarchicalforecast/test_predictor.py
imports: from pathlib import Path
  from tempfile import TemporaryDirectory
  import itertools
  import pytest
  from statsforecast.models import AutoARIMA, AutoETS
  from hierarchicalforecast.methods import BottomUp, ERM, MiddleOut, MinTrace, OptimalCombination, TopDown
  from gluonts.evaluation import MultivariateEvaluator, backtest_metrics
  from gluonts.model import Predictor
  from gluonts.core import serde
  from gluonts.ext.hierarchicalforecast import ModelConfig, HierarchicalForecastPredictor
label_desc: Use image node_id 1 for calling a global function with example usage: generate_test_inputs(season_length) and returns: test_input