code: def test_backwards_compatibility(self):
      old_versions = {
          "0.6.1.dev0": (29.3669923968994, "fb"),
          "0.7.1": (29.282810844704414, "fb"),
          "1.0.1": (29.282810844704414, ""),
      }
      for v, (pred_val, v_str) in old_versions.items():
          fname = Path(__file__).parent / f"serialized_model_v{v}.json"
          with open(fname, "r") as fin:
              model_str = json.load(fin)
          # Check that deserializes
          m = model_from_json(model_str)
          assert json.loads(model_str)[f"__{v_str}prophet_version"] == v
          # Predict
          future = m.make_future_dataframe(10)
          fcst = m.predict(future)
          assert fcst["yhat"].values[-1] == pytest.approx(pred_val)
  
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 3 for calling the TestSerialize obj's underlying member method code with example usage: obj.test_backwards_compatibility() without return types