def test_edit_series(self, jhu_data, population_data, country): # Setting snl = Scenario(jhu_data, population_data, country) snl.first_date = "01Apr2020" snl.last_date = "01Aug2020" # Add and clear assert snl.summary().empty snl.add(end_date="05May2020") snl.add(days=20) snl.add() snl.add(end_date="01Sep2020") assert len(snl["Main"]) == 4 snl.clear(include_past=True) snl.add(end_date="01Sep2020", name="New") assert len(snl["New"]) == 2 # Delete snl.delete(name="Main") assert len(snl["Main"]) == 0 with pytest.raises(TypeError): snl.delete(phases="1st", name="New") snl.delete(phases=["1st"], name="New") assert len(snl["New"]) == 1 snl.delete(name="New") with pytest.raises(KeyError): assert len(snl["New"]) == 1
def test_add_past_phases(self, jhu_data, population_data): scenario = Scenario(jhu_data, population_data, country="India") scenario.delete() # Phase series scenario.clear(name="Medicine") scenario.add(days=100) scenario.delete(name="Medicine") with pytest.raises(TypeError): scenario.delete(phase="0th") with pytest.raises(TypeError): scenario.summary(columns="Population") with pytest.raises(KeyError): scenario.summary(columns=["Value"]) # Range of past phases scenario.first_date = "01Mar2020" scenario.first_date scenario.last_date = "16Jul2020" scenario.last_date with pytest.raises(ValueError): scenario.first_date = "01Aug2020" with pytest.raises(ValueError): scenario.last_date = "01Feb2020" # With trend analysis scenario.trend(set_phases=True) with pytest.raises(ValueError): scenario.trend(set_phases=False, n_points=3) scenario.combine(phases=["3rd", "4th"]) scenario.separate(date="30May2020", phase="1st") scenario.delete(phases=["1st"]) scenario.trend(set_phases=False) trend_df = scenario.summary() assert len(trend_df) == 4 # add scenarios one by one scenario.clear(include_past=True) scenario.add(end_date="29May2020") scenario.add(end_date="05Jun2020").delete(phases=["0th"]) scenario.add(end_date="15Jun2020") scenario.add(end_date="04Jul2020") scenario.add() one_df = scenario.summary() assert len(one_df) == 4 # With 0th phase scenario.use_0th = True scenario.trend(set_phases=False, include_init_phase=True) scenario.use_0th = False scenario.trend(set_phases=True, include_init_phase=True) scenario.delete(phases=["0th"]) assert len(scenario.summary()) == 5 with pytest.raises(TypeError): scenario.delete(phases="1st")