code: def test_simple_serialize(self, daily_univariate_ts, backend):
      m = Prophet(stan_backend=backend)
      df = daily_univariate_ts.head(daily_univariate_ts.shape[0] - 30)
      m.fit(df)
  
      future = m.make_future_dataframe(2, include_history=False)
      fcst = m.predict(future)
  
      model_str = model_to_json(m)
      # Make sure json doesn't get too large in the future
      assert len(model_str) < 200000
      m2 = model_from_json(model_str)
  
      # Check that m and m2 are equal
      assert m.__dict__.keys() == m2.__dict__.keys()
      for k, v in m.__dict__.items():
          if k in ["stan_fit", "stan_backend"]:
              continue
          if k == "params":
              assert v.keys() == m2.params.keys()
              for kk, vv in v.items():
                  assert np.array_equal(vv, m2.params[kk])
          elif k in PD_SERIES and v is not None:
              assert v.equals(m2.__dict__[k])
          elif k in PD_DATAFRAME and v is not None:
              pd.testing.assert_frame_equal(
                  v, m2.__dict__[k], check_index_type=False
              )
          elif k == "changepoints_t":
              assert np.array_equal(v, m.__dict__[k])
          else:
              assert v == m2.__dict__[k]
      assert m2.stan_fit is None
      assert m2.stan_backend is None
  
      # Check that m2 makes the same forecast
      future2 = m2.make_future_dataframe(2, include_history=False)
      fcst2 = m2.predict(future2)
  
      assert np.array_equal(fcst["yhat"].values, fcst2["yhat"].values)
  
file_path: prophet/python/prophet/tests/test_serialize.py
imports: import json
  from pathlib import Path
  import numpy
  import pandas
  import pytest
  from prophet import Prophet
  from prophet.serialize import PD_DATAFRAME, PD_SERIES, model_from_json, model_to_json
label_desc: Use image node_id 1 for calling the TestSerialize obj's underlying member method code with example usage: obj.test_simple_serialize(daily_univariate_ts, backend) without return types