Пример #1
0
def test_consumption_history(consumption_list_one_year_electricity,
                             consumption_list_one_year_gas):
    ch_elec = ConsumptionHistory(consumption_list_one_year_electricity)
    ch_gas = ConsumptionHistory(consumption_list_one_year_gas)

    # different ways to get the same data
    assert len(ch_elec.electricity) == 12
    assert len(ch_elec["electricity"]) == 12
    assert len(ch_elec.get("electricity")) == 12

    # other cases
    with pytest.raises(KeyError):
        assert len(ch_elec.natural_gas) == 0
        assert len(ch_gas.electricity) == 0
    assert len(ch_gas.natural_gas) == 12

    for consumption in ch_elec.electricity:
        assert consumption.kWh >= 0
    for consumption in ch_gas.natural_gas:
        assert consumption.therm >= 0

    assert ch_elec
    assert ch_gas

    for fuel_type,consumptions in ch_elec.fuel_types():
        consumptions.sort()

    assert len(ch_gas.before(datetime(2012,7,1)).natural_gas) == 6
    assert len(ch_gas.after(datetime(2012,6,30)).natural_gas) == 6
    assert len(ch_gas.before(datetime(2013,6,30)).natural_gas) == 12
    with pytest.raises(KeyError):
        assert ch_gas.before(datetime(2011,7,1)).natural_gas
        assert ch_gas.after(datetime(2013,6,30)).natural_gas

    assert ch_elec.get("nonexistent") == []