code: def test_validate_volatility_features():
      """Tests ``validate_volatility_features``."""
      # Default behaviour, no
      volatility_features_list = [
          ["dow"],
          ["dow"],
          ["dow", "hour"],
          ["dow", "hour", "dow"],
          ["is_holiday"],
      ]
      validated_features_list = validate_volatility_features(
          volatility_features_list=volatility_features_list
      )
      expected_volatility_features_list = [
          ["dow"],
          ["dow", "hour"],
          ["is_holiday"],
      ]
      assert_equal(
          validated_features_list, expected_volatility_features_list
      )
  
      # Error when input feature is not in ``valid_features``
      with pytest.raises(
          ValueError,
          match="Unknown feature\\(s\\) \\({'is_holiday'}\\) in `volatility_features_list`.",
      ):
          valid_features = TimeFeaturesEnum._member_names_
          validate_volatility_features(
              volatility_features_list=volatility_features_list,
              valid_features=valid_features,
          )
  
imports: import itertools
  import numpy
  import pandas
  import pytest
  from testfixtures import LogCapture
  from greykite.common.constants import ANOMALY_COL
  from greykite.common.constants import END_TIME_COL
  from greykite.common.constants import LOGGER_NAME
  from greykite.common.constants import START_TIME_COL
  from greykite.common.constants import TIME_COL
  from greykite.common.constants import TimeFeaturesEnum
  from greykite.common.testing_utils import assert_equal
  from greykite.detection.detector.ad_utils import add_new_params_to_records
  from greykite.detection.detector.ad_utils import get_anomaly_df
  from greykite.detection.detector.ad_utils import get_anomaly_df_from_outliers
  from greykite.detection.detector.ad_utils import get_canonical_anomaly_df
  from greykite.detection.detector.ad_utils import get_timestamp_ceil
  from greykite.detection.detector.ad_utils import get_timestamp_floor
  from greykite.detection.detector.ad_utils import optimize_df_with_constraints
  from greykite.detection.detector.ad_utils import partial_return
  from greykite.detection.detector.ad_utils import validate_volatility_features
  from greykite.detection.detector.ad_utils import vertical_concat_dfs
label_desc: Use image node_id 8 for calling a global function with example usage: test_validate_volatility_features() without return types