code: def test_apply_template_for_pipeline_params(df):
      mt = MyTemplate()
      config = ForecastConfig(
          metadata_param=MetadataParam(
              time_col=NEW_TIME_COL,
              value_col=NEW_VALUE_COL,
          ),
          evaluation_metric_param=EvaluationMetricParam(
              cv_selection_metric="MeanSquaredError"
          ),
          evaluation_period_param=EvaluationPeriodParam(
              cv_use_most_recent_splits=True
          ),
      )
      original_config = dataclasses.replace(config)
  
      # Tests apply_template_for_pipeline_params
      pipeline_params = mt.apply_template_for_pipeline_params(
          df=df, config=config
      )
  
      assert_equal(pipeline_params["df"], df)
      assert pipeline_params["train_end_date"] is None
      estimator = pipeline_params["pipeline"].steps[-1][-1]
      assert isinstance(estimator, SilverkiteEstimator)
      assert estimator.coverage == mt.config.coverage
      assert mt.estimator is not estimator
      assert mt.estimator.coverage is None
      expected_col_names = unique_elements_in_list(
          mt.get_regressor_cols()
          + mt.get_lagged_regressor_info()["lagged_regressor_cols"]
      )
      assert (
          pipeline_params["pipeline"]
          .named_steps["input"]
          .transformer_list[2][1]
          .named_steps["select_reg"]
          .column_names
          == expected_col_names
      )
      assert (
          pipeline_params["cv_use_most_recent_splits"]
          == config.evaluation_period_param.cv_use_most_recent_splits
      )
  
      # Tests `apply_template_decorator`
      assert mt.config == mt.apply_forecast_config_defaults(config)
      assert mt.config != config  # `mt.config` has default values added
      assert config == original_config
  
imports: import dataclasses
  import datetime
  import pytest
  import sklearn
  from greykite.common.constants import TIME_COL
  from greykite.common.constants import VALUE_COL
  from greykite.common.enums import TimeEnum
  from greykite.common.evaluation import EvaluationMetricEnum
  from greykite.common.python_utils import assert_equal
  from greykite.common.python_utils import unique_elements_in_list
  from greykite.common.testing_utils import assert_eval_function_equal
  from greykite.common.testing_utils import generate_df_with_reg_for_tests
  from greykite.framework.templates.autogen.forecast_config import EvaluationMetricParam
  from greykite.framework.templates.autogen.forecast_config import EvaluationPeriodParam
  from greykite.framework.templates.autogen.forecast_config import ForecastConfig
  from greykite.framework.templates.autogen.forecast_config import MetadataParam
  from greykite.framework.templates.base_template import BaseTemplate
  from greykite.sklearn.estimator.silverkite_estimator import SilverkiteEstimator
label_desc: Use image node_id 8 for calling a global function with example usage: test_apply_template_for_pipeline_params(df) without return types