Пример #1
0
 def test_estimate(self, jhu_data, population_data, country):
     warnings.simplefilter("ignore", category=UserWarning)
     # Setting
     snl = Scenario(jhu_data, population_data, country)
     snl.first_date = "01Apr2020"
     snl.last_date = "01Aug2020"
     with pytest.raises(ValueError):
         snl.estimate(SIR)
     snl.trend(include_init_phase=True, show_figure=False)
     snl.disable(phases=["0th"])
     with pytest.raises(AttributeError):
         snl.estimate_history(phase="1th")
     # Parameter estimation
     with pytest.raises(KeyError):
         snl.estimate(SIR, phases=["30th"])
     with pytest.raises(ValueError):
         snl.estimate(model=SIR, tau=1440)
     snl.enable(phases=["0th"])
     with pytest.raises(TypeError):
         snl.estimate(model=SIR, phases="1st")
     with pytest.raises(ValueError):
         snl.estimate(model=SIR, phases=["0th"])
     snl.clear(include_past=True)
     snl.trend(show_figure=False)
     snl.estimate(SIR)
     # Estimation history
     snl.estimate_history(phase="1st")
     # Estimation accuracy
     snl.estimate_accuracy(phase="1st")
     # Get a value
     snl.get(Term.RT)
     with pytest.raises(KeyError):
         snl.get("feeling")
Пример #2
0
 def test_estimate(self, jhu_data, population_data, country):
     warnings.simplefilter("ignore", category=UserWarning)
     # Setting
     snl = Scenario(jhu_data, population_data, country)
     snl.first_date = "01Apr2020"
     snl.last_date = "01Aug2020"
     with pytest.raises(ValueError):
         snl.estimate(SIR)
     snl.trend(show_figure=False)
     with pytest.raises(AttributeError):
         snl.estimate_history(phase="last")
     # Parameter estimation
     with pytest.raises(KeyError):
         snl.estimate(SIR, phases=["30th"])
     with pytest.raises(ValueError):
         snl.estimate(model=SIR, tau=1440)
     snl.estimate(SIR, timeout=1, timeout_iteration=1)
     # Estimation history
     snl.estimate_history(phase="last")
     # Estimation accuracy
     snl.estimate_accuracy(phase="last")
     # Get a value
     snl.get(Term.RT)
     with pytest.raises(KeyError):
         snl.get("feeling")
Пример #3
0
 def test_analysis(self, jhu_data, population_data):
     scenario = Scenario(jhu_data, population_data, country="Italy")
     with pytest.raises(KeyError):
         scenario.simulate(name="Main", show_figure=False)
     with pytest.raises(ValueError):
         scenario.estimate(model=SIRF)
     # S-R trend analysis
     scenario.trend(show_figure=False)
     warnings.filterwarnings("ignore", category=UserWarning)
     scenario.trend(show_figure=True)
     # Parameter estimation of SIR-F model
     with pytest.raises(ValueError):
         scenario.param_history(targets=["Rt"], show_figure=False)
     with pytest.raises(ValueError):
         scenario.estimate(model=SIRF, tau=1440)
     scenario.estimate(model=SIRF)
     # History of estimation
     scenario.estimate_history(phase="1st")
     with pytest.raises(KeyError):
         scenario.estimate_history(phase="0th")
     # Accuracy of estimation
     scenario.estimate_accuracy(phase="1st")
     with pytest.raises(KeyError):
         scenario.estimate_accuracy(phase="0th")
     # Prediction
     scenario.add(name="Main", days=100)
     scenario.simulate(name="Main", show_figure=False)
     scenario.simulate(name="Main", show_figure=True)
     scenario.param_history(targets=["Rt"], show_figure=False)
     scenario.param_history(targets=["Rt"], divide_by_first=False)
     scenario.param_history(targets=["Rt"], show_box_plot=False)
     with pytest.raises(KeyError):
         scenario.param_history(targets=["Rt", "Value"])
     with pytest.raises(KeyError):
         scenario.param_history(targets=["Rt"], box_plot=False)
     # New scenario
     sigma_new = scenario.get("sigma", phase="last") * 2
     with pytest.raises(KeyError):
         scenario.get("value")
     warnings.filterwarnings("ignore", category=DeprecationWarning)
     scenario.add_phase(name="New medicines", days=100, sigma=sigma_new)
     # Summarize scenarios
     summary_df = scenario.summary()
     assert isinstance(summary_df, pd.DataFrame)
     desc_df = scenario.describe()
     assert isinstance(desc_df, pd.DataFrame)
     # Estimation errors
     with pytest.raises(TypeError):
         scenario.estimate(SIRF, phases="1st")
     with pytest.raises(KeyError):
         scenario.estimate(SIRF, phases=["100th"])