code: def test_prophet(prophet_params):
      prophet = pytest.importorskip(
          "prophet",
          reason="Prophet tests skipped as Prophet not installed",
      )
      growth, return_instance_score, return_forecast = prophet_params
      od = OutlierProphet(growth=growth)
      assert isinstance(od.model, prophet.forecaster.Prophet)
      assert od.meta == {
          "name": "OutlierProphet",
          "detector_type": "outlier",
          "data_type": "time-series",
          "online": False,
          "version": __version__,
      }
      if growth == "logistic":
          df_fit["cap"] = 10.0
          df_test["cap"] = 10.0
      od.fit(df_fit)
      forecast = od.score(df_test)
      fcst_cols = list(forecast.columns)
      check_cols = [
          "ds",
          "yhat",
          "yhat_lower",
          "yhat_upper",
          "score",
          "y",
      ]
      assert all(check_col in fcst_cols for check_col in check_cols)
      od_preds = od.predict(
          df_test,
          return_instance_score=return_instance_score,
          return_forecast=return_forecast,
      )
      assert od_preds["meta"] == od.meta
      assert (
          od_preds["data"]["is_outlier"]["ds"] == df_test["ds"]
      ).all()
      assert (
          od_preds["data"]["is_outlier"]["is_outlier"].shape[0]
          == df_test["ds"].shape[0]
      )
      if not return_instance_score:
          assert od_preds["data"]["instance_score"] is None
      if not return_forecast:
          with pytest.raises(KeyError):
              od_preds["data"]["forecast"]
  
file_path: alibi-detect/alibi_detect/od/tests/test_prophet.py
imports: import datetime
  from itertools import product
  import numpy
  import pandas
  import pytest
  from alibi_detect.od import OutlierProphet
  from alibi_detect.version import __version__
label_desc: Use image node_id 2 for calling a global function with example usage: test_prophet(prophet_params) without return types