code: def test_fill():
      # tests plot_annotate_series
      df = pd.DataFrame(
          {
              "x": list(range(10)),
              "actual": [1, 2, 3, 4, 5, 4, 3, 3, 2, 1],
              "forecast": [1.5, 2.5, 3.5, 4.5, 5.5, 5, 4, 4, 1, 0.5],
              "actual_label": [0] * 5 + [1] * 5,
              "forecast_label": [0, 0, 0, 1, 1, 0, 0, 1, 1, 0],
              "forecast_upper": [
                  2.5,
                  3.5,
                  4.5,
                  5.5,
                  6.5,
                  6,
                  5,
                  5,
                  2,
                  2,
              ],
              "forecast_lower": [
                  0.5,
                  0.5,
                  1.5,
                  3.5,
                  4.5,
                  3,
                  3,
                  2,
                  -0.5,
                  -1,
              ],
          }
      )
      fig = plt_annotate_series(
          df=df,
          x_col="x",
          value_col="actual",
          label_col="actual_label",
          annotate_labels=[0, 1],
          keep_cols=None,
          fill_cols=[["forecast_lower", "forecast_upper"]],
          title=None,
      )["fig"]
  
      assert fig.data[0]["name"] == "forecast_lower"
      assert fig.data[1]["name"] == "forecast_upper"
      assert fig.data[1]["fill"] == "tonexty"
  
      # tests plot_compare_series_annotations
      fig = plt_compare_series_annotations(
          df=df,
          x_col="x",
          actual_col="actual",
          actual_label_col="actual_label",
          forecast_label_col="forecast_label",
          forecast_col=None,
          fill_cols=[["forecast_lower", "forecast_upper"]],
          standardize_col="actual",
      )
      assert fig.data[0]["name"] == "forecast_lower"
      assert fig.data[1]["name"] == "forecast_upper"
      assert fig.data[1]["fill"] == "tonexty"
  
      with pytest.raises(
          ValueError,
          match="fill_cols must be a list of lists of strings.",
      ):
          plt_annotate_series(
              df=df,
              x_col="x",
              value_col="actual",
              label_col="actual_label",
              annotate_labels=[0, 1],
              keep_cols=None,
              fill_cols=["forecast_lower", "forecast_upper"],
              title=None,
          )
  
      with pytest.raises(
          ValueError,
          match="fill_cols must be a list of lists of strings.",
      ):
          plt_compare_series_annotations(
              df=df,
              x_col="x",
              actual_col="actual",
              actual_label_col="actual_label",
              forecast_label_col="forecast_label",
              forecast_col=None,
              fill_cols=["forecast_lower", "forecast_upper"],
              standardize_col="actual",
          )
  
imports: import numpy
  import pandas
  import pytest
  from greykite.common.constants import END_TIME_COL
  from greykite.common.constants import START_TIME_COL
  from greykite.common.python_utils import assert_equal
  from greykite.common.viz.colors_utils import get_distinct_colors
  from greykite.common.viz.timeseries_annotate import add_multi_vrects
  from greykite.common.viz.timeseries_annotate import plot_anomalies_over_forecast_vs_actual
  from greykite.common.viz.timeseries_annotate import plot_event_periods_multi
  from greykite.common.viz.timeseries_annotate import plot_lines_markers
  from greykite.common.viz.timeseries_annotate import plot_overlay_anomalies_multi_metric
  from greykite.common.viz.timeseries_annotate import plot_precision_recall_curve
  from greykite.common.viz.timeseries_annotate import plt_annotate_series
  from greykite.common.viz.timeseries_annotate import plt_compare_series_annotations
label_desc: Use image node_id 3 for calling a global function with example usage: test_fill() without return types