code: def test_map_prediction_percentiles(
      iclaims_training_data, n_bootstrap_draws, prediction_percentiles
  ):
      df = iclaims_training_data
  
      ets = ETS(
          response_col="claims",
          date_col="week",
          seasonality=52,
          seed=8888,
          prediction_percentiles=prediction_percentiles,
          estimator="stan-map",
          n_bootstrap_draws=n_bootstrap_draws,
      )
  
      if n_bootstrap_draws > 0:
          if not prediction_percentiles:
              p_labels = ["_5", "", "_95"]
          else:
              p_labels = ["_5", "_10", "", "_95"]
      else:
          p_labels = [""]
  
      ets.fit(df)
      # test behaviors without decomposition
      predicted_df = ets.predict(df)
  
      expected_columns = ["week"] + ["prediction" + p for p in p_labels]
  
      assert predicted_df.columns.tolist() == expected_columns
      assert predicted_df.shape[0] == df.shape[0]
  
      # test behaviors with decomposition
      predicted_df = ets.predict(df, decompose=True)
      predicted_components = [
          "prediction",
          PredictionKeys.TREND.value,
          PredictionKeys.SEASONALITY.value,
      ]
      expected_columns = ["week"]
  
      for pc in predicted_components:
          for p in p_labels:
              expected_columns.append(pc + p)
      assert predicted_df.columns.tolist() == expected_columns
      assert predicted_df.shape[0] == df.shape[0]
  
file_path: orbit/tests/orbit/models/test_ets.py
imports: import pytest
  import numpy
  from copy import copy
  from orbit.models import ETS
  from orbit.constants.constants import PredictionKeys
label_desc: Use image node_id 7 for calling a global function with example usage: test_map_prediction_percentiles(iclaims_training_data, n_bootstrap_draws, prediction_percentiles) without return types