code: def test_get_anomaly_df():
      """Tests `get_anomaly_df`."""
      # All anomalies
      df = pd.DataFrame(
          {
              TIME_COL: pd.date_range(
                  start="2020-01-01", periods=10, freq="D"
              ),
              ANOMALY_COL: [
                  True,
                  True,
                  True,
                  True,
                  True,
                  True,
                  True,
                  True,
                  True,
                  True,
              ],
          }
      )
      anomaly_df = get_anomaly_df(
          df=df, time_col=TIME_COL, anomaly_col=ANOMALY_COL
      )
      expected_anomaly_df = pd.DataFrame(
          {
              START_TIME_COL: pd.to_datetime(["2020-01-01"]),
              END_TIME_COL: pd.to_datetime(["2020-01-10"]),
          }
      )
      assert_equal(anomaly_df, expected_anomaly_df)
  
      # No anomalies
      df = pd.DataFrame(
          {
              TIME_COL: pd.date_range(
                  start="2020-01-01", periods=10, freq="D"
              ),
              ANOMALY_COL: [
                  False,
                  False,
                  False,
                  False,
                  False,
                  False,
                  False,
                  False,
                  False,
                  False,
              ],
          }
      )
      anomaly_df = get_anomaly_df(
          df=df, time_col=TIME_COL, anomaly_col=ANOMALY_COL
      )
      expected_anomaly_df = pd.DataFrame(
          {
              START_TIME_COL: pd.to_datetime([]),
              END_TIME_COL: pd.to_datetime([]),
          }
      )
      assert_equal(anomaly_df, expected_anomaly_df)
  
      # Distinct anomalies (single data point and multiple data points)
      df = pd.DataFrame(
          {
              TIME_COL: pd.date_range(
                  start="2020-01-01", periods=10, freq="D"
              ),
              ANOMALY_COL: [
                  False,
                  True,
                  True,
                  True,
                  False,
                  True,
                  False,
                  False,
                  False,
                  False,
              ],
          }
      )
      anomaly_df = get_anomaly_df(
          df=df, time_col=TIME_COL, anomaly_col=ANOMALY_COL
      )
      expected_anomaly_df = pd.DataFrame(
          {
              START_TIME_COL: pd.to_datetime(
                  ["2020-01-02", "2020-01-06"]
              ),
              END_TIME_COL: pd.to_datetime(
                  ["2020-01-04", "2020-01-06"]
              ),
          }
      )
      assert_equal(anomaly_df, expected_anomaly_df)
  
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 5 for calling a global function with example usage: test_get_anomaly_df() without return types