code: def test_set_uncertainty_dict(daily_data):
      """Tests __set_uncertainty_dict"""
      train_df = daily_data["train_df"]
  
      # both provided
      coverage = 0.95
      uncertainty_dict = {
          "uncertainty_method": "simple_conditional_residuals",
          "params": {
              "conditional_cols": ["dow_hr"],
              "quantiles": [0.025, 0.975],
              "quantile_estimation_method": "normal_fit",
              "sample_size_thresh": 20,
              "small_sample_size_method": "std_quantiles",
              "small_sample_size_quantile": 0.98,
          },
      }
      model = BaseSilverkiteEstimator(
          coverage=coverage, uncertainty_dict=uncertainty_dict
      )
      model.fit(train_df)
      expected_dict = uncertainty_dict
      assert_equal(model.uncertainty_dict, expected_dict)
      assert_equal(model.coverage, coverage)
  
      # only coverage provided
      coverage = 0.90
      uncertainty_dict = None
      model = BaseSilverkiteEstimator(
          coverage=coverage, uncertainty_dict=uncertainty_dict
      )
      model.fit(train_df)
      expected_dict = {
          "uncertainty_method": "simple_conditional_residuals",
          "params": {
              "conditional_cols": ["dow_hr"],
              "quantiles": [0.05, 0.95],
              "quantile_estimation_method": "normal_fit",
              "sample_size_thresh": 5,
              "small_sample_size_method": "std_quantiles",
              "small_sample_size_quantile": 0.98,
          },
      }
      assert_equal(model.uncertainty_dict, expected_dict)
      assert_equal(model.coverage, coverage)
  
      # both missing
      coverage = None
      uncertainty_dict = None
      model = BaseSilverkiteEstimator(
          coverage=coverage, uncertainty_dict=uncertainty_dict
      )
      model.fit(train_df)
      expected_dict = None
      assert_equal(model.uncertainty_dict, expected_dict)
      assert_equal(model.coverage, None)
  
      # only uncertainty provided
      coverage = None
      uncertainty_dict = {
          "uncertainty_method": "simple_conditional_residuals",
          "params": {
              "conditional_cols": ["dow_hr"],
              "quantiles": [0.05, 0.95],
              "quantile_estimation_method": "normal_fit",
              "sample_size_thresh": 5,
              "small_sample_size_method": "std_quantiles",
              "small_sample_size_quantile": 0.98,
          },
      }
      model = BaseSilverkiteEstimator(
          coverage=coverage, uncertainty_dict=uncertainty_dict
      )
      model.fit(train_df)
      expected_dict = uncertainty_dict
      assert_equal(model.uncertainty_dict, expected_dict)
      assert_equal(model.coverage, 0.90)
  
imports: import datetime
  import numpy
  import pandas
  import pytest
  from sklearn.exceptions import NotFittedError
  from sklearn.metrics import mean_absolute_error
  from sklearn.metrics import mean_squared_error
  from testfixtures import LogCapture
  import greykite.common.constants
  from greykite.algo.forecast.silverkite.forecast_silverkite import SilverkiteForecast
  from greykite.common.data_loader import DataLoader
  from greykite.common.features.timeseries_features import convert_date_to_continuous_time
  from greykite.common.python_utils import assert_equal
  from greykite.common.testing_utils import daily_data_reg
  from greykite.common.testing_utils import generate_df_for_tests
  from greykite.common.testing_utils import generate_df_with_reg_for_tests
  from greykite.sklearn.estimator.base_silverkite_estimator import BaseSilverkiteEstimator
  from greykite.sklearn.estimator.testing_utils import params_component_breakdowns
  from greykite.sklearn.estimator.testing_utils import params_components
label_desc: Use image node_id 12 for calling a global function with example usage: test_set_uncertainty_dict(daily_data) without return types