예제 #1
0
파일: test_app.py 프로젝트: JHON-EDV/chime
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
예제 #2
0
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