code: def test_when_fit_called_then_models_train_and_returned_predictor_inference_correct(
      model_class, prediction_length, trained_models
  ):
      train_data = DUMMY_TS_DATAFRAME
      model = trained_models[(prediction_length, repr(model_class))]
  
      predictions = model.predict(train_data)
  
      assert isinstance(predictions, TimeSeriesDataFrame)
  
      predicted_item_index = predictions.item_ids
      assert all(predicted_item_index == train_data.item_ids)
      assert all(
          len(predictions.loc[i]) == prediction_length
          for i in predicted_item_index
      )
      assert all(
          predictions.loc[i].index[0].hour > 0
          for i in predicted_item_index
      )
  
imports: import itertools
  import shutil
  import sys
  import tempfile
  from unittest import mock
  import numpy
  import pandas
  import pytest
  from flaky import flaky
  from autogluon.common import space
  from autogluon.core.hpo.constants import RAY_BACKEND
  from autogluon.timeseries import TimeSeriesDataFrame
  from autogluon.timeseries.dataset.ts_dataframe import ITEMID, TIMESTAMP
  from autogluon.timeseries.metrics import AVAILABLE_METRICS
  from autogluon.timeseries.models import DeepARModel, ETSModel
  from autogluon.timeseries.models.abstract import AbstractTimeSeriesModel
  from autogluon.timeseries.models.multi_window import MultiWindowBacktestingModel
  from ..common import DUMMY_TS_DATAFRAME, CustomMetric, dict_equal_primitive, get_data_frame_with_item_index
  from .test_gluonts import TESTABLE_MODELS
  from .test_local import TESTABLE_MODELS
  from .test_mlforecast import TESTABLE_MODELS
  from .test_multi_window_model import get_multi_window_deepar
label_desc: Use image node_id 11 for calling a global function with example usage: test_when_fit_called_then_models_train_and_returned_predictor_inference_correct(model_class, prediction_length, trained_models) without return types