code: def test_when_better_predictions_passed_to_metric_then_score_improves(
      metric_name,
  ):
      prediction_length = 5
      eval_metric = check_get_evaluation_metric(metric_name)
      data = DUMMY_TS_DATAFRAME.copy()
      predictions = data.slice_by_timestep(
          -prediction_length, None
      ).rename(columns={"target": "mean"})
      for q in ["0.1", "0.4", "0.9"]:
          predictions[q] = predictions["mean"]
      good_score = eval_metric.score(
          data, predictions + 1, prediction_length=prediction_length
      )
      bad_score = eval_metric.score(
          data, predictions + 50, prediction_length=prediction_length
      )
      assert good_score > bad_score
  
imports: from typing import List, Tuple
  import numpy
  import pandas
  import pytest
  from gluonts.dataset.split import split
  from gluonts.ev.metrics import MAE, MAPE, MASE, MSE, ND, RMSE, SMAPE, AverageMeanScaledQuantileLoss, MeanWeightedSumQuantileLoss
  from gluonts.ev.metrics import Metric
  from gluonts.model.evaluation import evaluate_forecasts
  from gluonts.model.forecast import QuantileForecast
  from autogluon.timeseries import TimeSeriesPredictor
  from autogluon.timeseries.metrics import AVAILABLE_METRICS, DEFAULT_METRIC_NAME, check_get_evaluation_metric
  from autogluon.timeseries.metrics.utils import _in_sample_abs_seasonal_error, _in_sample_squared_seasonal_error
  from autogluon.timeseries.models.gluonts.abstract_gluonts import AbstractGluonTSModel
  from .common import DUMMY_TS_DATAFRAME, get_data_frame_with_item_index
label_desc: Use image node_id 19 for calling a global function with example usage: test_when_better_predictions_passed_to_metric_then_score_improves(metric_name) without return types