code: def test_generate_trend_changepoint_detection_params(
      df_hourly, df_daily, df_weekly, df_monthly
  ):
      """Tests the overall parameter generation."""
      # Hourly data.
      params = generate_trend_changepoint_detection_params(
          df=df_hourly["df"], forecast_horizon=24
      )
      assert params == dict(
          yearly_seasonality_order=3,
          resample_freq="3D",
          regularization_strength=0.6,
          actual_changepoint_min_distance="14D",
          potential_changepoint_n=100,
          no_changepoint_distance_from_end="14D",
      )
  
      # Daily data.
      params = generate_trend_changepoint_detection_params(
          df=df_daily["df"], forecast_horizon=7
      )
      assert params == dict(
          yearly_seasonality_order=3,
          resample_freq="7D",
          regularization_strength=0.6,
          actual_changepoint_min_distance="30D",
          potential_changepoint_n=97,
          no_changepoint_distance_from_end="30D",
      )
  
      # Weekly data.
      params = generate_trend_changepoint_detection_params(
          df=df_weekly["df"], forecast_horizon=2
      )
      assert params == dict(
          yearly_seasonality_order=1,
          resample_freq=None,
          regularization_strength=0.6,
          actual_changepoint_min_distance="30D",
          potential_changepoint_n=100,
          no_changepoint_distance_from_end="56D",
      )
  
      # Monthly data.
      params = generate_trend_changepoint_detection_params(
          df=df_monthly["df"], forecast_horizon=3
      )
      assert params == dict(
          yearly_seasonality_order=1,
          resample_freq=None,
          regularization_strength=0.6,
          actual_changepoint_min_distance="56D",
          potential_changepoint_n=69,
          no_changepoint_distance_from_end="252D",
      )
  
      # No changepoints because data is too short.
      params = generate_trend_changepoint_detection_params(
          df=df_daily["df"].iloc[:60], forecast_horizon=1
      )
      assert params is None
  
imports: from datetime import timedelta
  import pytest
  from greykite.algo.changepoint.adalasso.auto_changepoint_params import generate_trend_changepoint_detection_params
  from greykite.algo.changepoint.adalasso.auto_changepoint_params import get_actual_changepoint_min_distance
  from greykite.algo.changepoint.adalasso.auto_changepoint_params import get_changepoint_resample_freq
  from greykite.algo.changepoint.adalasso.auto_changepoint_params import get_no_changepoint_distance_from_end
  from greykite.algo.changepoint.adalasso.auto_changepoint_params import get_potential_changepoint_n
  from greykite.algo.changepoint.adalasso.auto_changepoint_params import get_regularization_strength
  from greykite.algo.changepoint.adalasso.auto_changepoint_params import get_yearly_seasonality_order
  from greykite.algo.changepoint.adalasso.changepoint_detector import ChangepointDetector
  from greykite.common.constants import TIME_COL
  from greykite.common.constants import VALUE_COL
  from greykite.common.testing_utils import generate_df_for_tests
label_desc: Use image node_id 11 for calling a global function with example usage: test_generate_trend_changepoint_detection_params(df_hourly, df_daily, df_weekly, df_monthly) without return types