code: def test_generate_holiday_events():
      """Tests generate_holiday_events"""
      countries = ["UnitedStates", "UnitedKingdom", "India", "France"]
      year_start = 2019
      year_end = 2020
      holidays_to_model_separately = [
          "New Year's Day",
          "Christmas Day",
          "Independence Day",
          "Thanksgiving",
          "Labor Day",
          "Good Friday",
          "Easter Monday [England, Wales, Northern Ireland]",
          "Memorial Day",
          "Veterans Day",
      ]
      pre_num = 2
      post_num = 2
  
      daily_event_df_dict = generate_holiday_events(
          countries=countries,
          holidays_to_model_separately=holidays_to_model_separately,
          year_start=year_start,
          year_end=year_end,
          pre_num=pre_num,
          post_num=post_num,
      )
  
      cleaned_holidays = [
          holiday.replace("'", "")
          for holiday in holidays_to_model_separately
      ]
      cleaned_holidays += ["Other"]  # default value is "Other"
      expected_holidays = cleaned_holidays.copy()
      for i in range(1, pre_num + 1):
          expected_holidays += [
              f"{holiday}_minus_{i}" for holiday in cleaned_holidays
          ]
      for i in range(1, post_num + 1):
          expected_holidays += [
              f"{holiday}_plus_{i}" for holiday in cleaned_holidays
          ]
  
      assert set(expected_holidays) == set(
          list(daily_event_df_dict.keys())
      )
  
      assert daily_event_df_dict["Christmas Day"].equals(
          pd.DataFrame(
              {
                  EVENT_DF_DATE_COL: [
                      datetime.datetime(2019, 12, 25),
                      datetime.datetime(2020, 12, 25),
                  ],
                  EVENT_DF_LABEL_COL: [
                      EVENT_INDICATOR,
                      EVENT_INDICATOR,
                  ],
              }
          )
      )
  
      assert daily_event_df_dict[
          "Easter Monday [England, Wales, Northern Ireland]_plus_1"
      ].equals(
          pd.DataFrame(
              {
                  EVENT_DF_DATE_COL: [
                      datetime.datetime(2019, 4, 23),
                      datetime.datetime(2020, 4, 14),
                  ],
                  EVENT_DF_LABEL_COL: [
                      EVENT_INDICATOR,
                      EVENT_INDICATOR,
                  ],
              }
          )
      )
  
      assert daily_event_df_dict["Veterans Day_minus_2"].equals(
          pd.DataFrame(
              {
                  EVENT_DF_DATE_COL: [
                      datetime.datetime(2019, 11, 9),
                      datetime.datetime(2020, 11, 9),
                  ],
                  EVENT_DF_LABEL_COL: [
                      EVENT_INDICATOR,
                      EVENT_INDICATOR,
                  ],
              }
          )
      )
  
imports: import datetime
  import pandas
  import pytest
  from greykite.algo.forecast.silverkite.forecast_simple_silverkite_helper import cols_interact
  from greykite.algo.forecast.silverkite.forecast_simple_silverkite_helper import dedup_holiday_dict
  from greykite.algo.forecast.silverkite.forecast_simple_silverkite_helper import generate_holiday_events
  from greykite.algo.forecast.silverkite.forecast_simple_silverkite_helper import get_event_pred_cols
  from greykite.algo.forecast.silverkite.forecast_simple_silverkite_helper import patsy_categorical_term
  from greykite.algo.forecast.silverkite.forecast_simple_silverkite_helper import split_events_into_dictionaries
  from greykite.common.constants import EVENT_DEFAULT
  from greykite.common.constants import EVENT_DF_DATE_COL
  from greykite.common.constants import EVENT_DF_LABEL_COL
  from greykite.common.constants import EVENT_INDICATOR
  from greykite.common.features.timeseries_features import get_holidays
label_desc: Use image node_id 4 for calling a global function with example usage: test_generate_holiday_events() without return types