def test_admitted_patients_chart(): census_df = pd.read_csv('tests/census_df.csv') chart = admitted_patients_chart(alt, census_df, PARAM) assert isinstance(chart, alt.Chart) assert chart.data.iloc[1].hosp == 1 assert chart.data.iloc[49].vent == 203 # test fx call with no params with pytest.raises(TypeError): admitted_patients_chart() empty_chart = admitted_patients_chart(alt, pd.DataFrame(), PARAM) assert empty_chart.data.empty
def test_chart_descriptions(p=PARAM): # new admissions chart projection_admits = pd.read_csv('tests/projection_admits.csv') chart = new_admissions_chart(alt, projection_admits, p) description = chart_descriptions(chart, p.labels) hosp, icu, vent, asterisk = description.split("\n\n") # break out the description into lines max_hosp = chart.data['hospitalized'].max() assert str(ceil(max_hosp)) in hosp max_icu_ix = chart.data['icu'].idxmax() assert max_icu_ix + 1 == len(chart.data) assert "*" in icu # test asterisk param = PARAM param.n_days = 600 projection_admits = pd.read_csv('tests/projection_admits.csv') # projection_admits = projection_admits.rename(columns={'hospitalized': 'Hospitalized', 'icu': 'ICU', 'ventilated': 'Ventilated'}) chart = new_admissions_chart(alt, projection_admits, p) description = chart_descriptions(chart, p.labels) assert "*" not in description # census chart census_df = pd.read_csv('tests/census_df.csv') # census_df = census_df.rename(columns={'hospitalized': 'Hospitalized', 'icu': 'ICU', 'ventilated': 'Ventilated'}) PARAM.as_date = True chart = admitted_patients_chart(alt, census_df, p) description = chart_descriptions(chart, p.labels) assert str(ceil(chart.data['ventilated'].max())) in description assert str(chart.data['icu'].idxmax()) not in description assert datetime.datetime.strftime(chart.data.iloc[chart.data['icu'].idxmax()].date, '%b %d') in description