code: def assert_default_forecast_config(
      config: Optional[ForecastConfig] = None,
  ):
      """Asserts for the default ForecastConfig values"""
      try:
          config = (
              ForecastConfigDefaults().apply_forecast_config_defaults(
                  config
              )
          )
          assert config.model_template == ModelTemplateEnum.AUTO.name
          assert config.metadata_param.time_col == TIME_COL
          assert config.metadata_param.value_col == VALUE_COL
          assert (
              config.evaluation_period_param.periods_between_train_test
              is None
          )
          assert (
              config.evaluation_period_param.cv_max_splits
              == EVALUATION_PERIOD_CV_MAX_SPLITS
          )
          assert (
              config.evaluation_metric_param.cv_selection_metric
              == EvaluationMetricEnum.MeanAbsolutePercentError.name
          )
          assert (
              config.evaluation_metric_param.cv_report_metrics
              == CV_REPORT_METRICS_ALL
          )
          assert config.computation_param.n_jobs == COMPUTATION_N_JOBS
          assert config.computation_param.verbose == COMPUTATION_VERBOSE
          assert config.to_dict()  # runs without error
      except Exception:
          fail("Config should not raise Exception")
  
imports: import json
  from copy import deepcopy
  from typing import Optional
  import pandas
  import pytest
  from pytest import fail
  from greykite.common.constants import TIME_COL
  from greykite.common.constants import VALUE_COL
  from greykite.common.evaluation import EvaluationMetricEnum
  from greykite.framework.constants import COMPUTATION_N_JOBS
  from greykite.framework.constants import COMPUTATION_VERBOSE
  from greykite.framework.constants import CV_REPORT_METRICS_ALL
  from greykite.framework.constants import EVALUATION_PERIOD_CV_MAX_SPLITS
  from greykite.framework.templates.autogen.forecast_config import ComputationParam
  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.autogen.forecast_config import ModelComponentsParam
  from greykite.framework.templates.autogen.forecast_config import assert_equal_forecast_config
  from greykite.framework.templates.autogen.forecast_config import forecast_config_from_dict
  from greykite.framework.templates.autogen.forecast_config import from_list_dict
  from greykite.framework.templates.autogen.forecast_config import from_list_dict_or_none
  from greykite.framework.templates.autogen.forecast_config_utils import FORECAST_CONFIG_JSON_COMPLETE
  from greykite.framework.templates.autogen.forecast_config_utils import FORECAST_CONFIG_JSON_DEFAULT
  from greykite.framework.templates.forecast_config_defaults import ForecastConfigDefaults
  from greykite.framework.templates.model_templates import ModelTemplateEnum
label_desc: Use image node_id 3 for calling a global function with example usage: assert_default_forecast_config(config) without return types