code: def test_get_seasonality_changepoints():
      # tests the functionality under cases that were not tested elsewhere
      df = pd.DataFrame(
          {
              "ts": pd.date_range(
                  start="2020-01-01", end="2020-01-30", freq="D"
              ),
              "y": np.random.randn(30),
          }
      )
      # tests uniform trend change point dictionary
      seasonality_changepoints_result = get_seasonality_changepoints(
          df=df,
          time_col="ts",
          value_col="y",
          trend_changepoints_dict={
              "method": "uniform",
              "n_changepoints": 5,
          },
          trend_changepoint_dates=None,
          seasonality_changepoints_dict=None,
      )
      assert (
          "weekly"
          in seasonality_changepoints_result[
              "seasonality_changepoints"
          ].keys()
      )
      assert (
          "yearly"
          in seasonality_changepoints_result[
              "seasonality_changepoints"
          ].keys()
      )
      assert isinstance(
          seasonality_changepoints_result["seasonality_changepoints"][
              "weekly"
          ],
          list,
      )
      assert isinstance(
          seasonality_changepoints_result["seasonality_changepoints"][
              "yearly"
          ],
          list,
      )
      # tests custom trend change point dictionary
      seasonality_changepoints_result = get_seasonality_changepoints(
          df=df,
          time_col="ts",
          value_col="y",
          trend_changepoints_dict={
              "method": "custom",
              "dates": ["2020-01-10"],
          },
          trend_changepoint_dates=None,
          seasonality_changepoints_dict={
              "seasonality_components_df": pd.DataFrame(
                  {
                      "name": ["conti_year"],
                      "period": [1.0],
                      "order": [1],
                      "seas_names": ["yearly"],
                  }
              ),
              "resample_freq": "D",
              "regularization_strength": 0.5,
              "actual_changepoint_min_distance": "D",
              "potential_changepoint_distance": "2D",
              "potential_changepoint_n": 15,
              "no_changepoint_distance_from_end": "5D",
              "no_changepoint_proportion_from_end": 0.1,
          },
      )
      assert (
          "weekly"
          not in seasonality_changepoints_result[
              "seasonality_changepoints"
          ].keys()
      )
      assert (
          "yearly"
          in seasonality_changepoints_result[
              "seasonality_changepoints"
          ].keys()
      )
      assert isinstance(
          seasonality_changepoints_result["seasonality_changepoints"][
              "yearly"
          ],
          list,
      )
  
imports: from datetime import timedelta
  import numpy
  import pandas
  import pytest
  from pandas.tseries.frequencies import to_offset
  from sklearn.base import RegressorMixin
  from testfixtures import LogCapture
  from greykite.algo.changepoint.adalasso.changepoint_detector import ChangepointDetector
  from greykite.algo.changepoint.adalasso.changepoint_detector import get_changepoints_dict
  from greykite.algo.changepoint.adalasso.changepoint_detector import get_seasonality_changepoints
  from greykite.algo.changepoint.shift_detection.shift_detector import ShiftDetection
  from greykite.common.data_loader import DataLoader
  from greykite.common.logging import LOGGER_NAME
  from greykite.common.testing_utils import generate_df_for_tests
  from greykite.common.testing_utils import generate_df_with_arbitrary_trends_and_shifts
  from greykite.common.testing_utils import generate_test_changepoint_df
label_desc: Use image node_id 8 for calling a global function with example usage: test_get_seasonality_changepoints() without return types