code: def test_forecast_via_arima_freq(params):
      frequencies = ["H", "D", "M"]
      for freq in frequencies:
          df = generate_df_for_tests(freq=freq, periods=50)
          train_df = df["train_df"]
          test_df = df["test_df"]
  
          # tests model fit and predict work without error
          model = AutoArimaEstimator(**params)
          try:
              model.fit(
                  train_df, time_col=TIME_COL, value_col=VALUE_COL
              )
              pred = model.predict(test_df)
          except Exception:
              print(f"Failed for frequency {freq}")
              raise
  
          assert list(pred.columns) == [
              TIME_COL,
              PREDICTED_COL,
              PREDICTED_LOWER_COL,
              PREDICTED_UPPER_COL,
          ]
          assert pred[TIME_COL].equals(test_df[TIME_COL])
          model.summary()
  
imports: import numpy
  import pandas
  import pytest
  from pmdarima.arima import AutoARIMA
  from sklearn.metrics import mean_absolute_error
  from sklearn.metrics import mean_squared_error
  from testfixtures import LogCapture
  from greykite.common.constants import LOGGER_NAME
  from greykite.common.constants import PREDICTED_COL
  from greykite.common.constants import PREDICTED_LOWER_COL
  from greykite.common.constants import PREDICTED_UPPER_COL
  from greykite.common.constants import TIME_COL
  from greykite.common.constants import VALUE_COL
  from greykite.common.evaluation import EvaluationMetricEnum
  from greykite.common.evaluation import calc_pred_err
  from greykite.common.logging import LoggingLevelEnum
  from greykite.common.python_utils import assert_equal
  from greykite.common.testing_utils import generate_df_for_tests
  from greykite.sklearn.estimator.auto_arima_estimator import AutoArimaEstimator
label_desc: Use image node_id 11 for calling a global function with example usage: test_forecast_via_arima_freq(params) without return types