Example #1
0
def test_recent_reading_meter():
    recent_consumption = Consumption(
        0,
        "kWh",
        "electricity",
        datetime.now(pytz.utc) - timedelta(days=390),
        datetime.now(pytz.utc) - timedelta(days=360),
    )
    old_consumption = Consumption(
        0, "kWh", "electricity", datetime(2012, 1, 1, tzinfo=pytz.utc), datetime(2012, 2, 1, tzinfo=pytz.utc)
    )
    no_ch = ConsumptionHistory([])
    old_ch = ConsumptionHistory([old_consumption])
    recent_ch = ConsumptionHistory([recent_consumption])
    mixed_ch = ConsumptionHistory([recent_consumption, old_consumption])

    meter = RecentReadingMeter(n_days=365)
    assert not meter.evaluate(consumption_history=no_ch, fuel_type="electricity")["recent_reading"]
    assert not meter.evaluate(consumption_history=old_ch, fuel_type="electricity")["recent_reading"]
    assert meter.evaluate(consumption_history=recent_ch, fuel_type="electricity")["recent_reading"]
    assert meter.evaluate(consumption_history=mixed_ch, fuel_type="electricity")["recent_reading"]
    assert not meter.evaluate(consumption_history=mixed_ch, fuel_type="natural_gas")["recent_reading"]

    assert not meter.evaluate(
        consumption_history=mixed_ch, fuel_type="electricity", since_date=datetime.now(pytz.utc) + timedelta(days=1000)
    )["recent_reading"]
    assert not meter.evaluate(
        consumption_history=mixed_ch, fuel_type="natural_gas", since_date=datetime.now(pytz.utc) + timedelta(days=1000)
    )["recent_reading"]
Example #2
0
def test_recent_reading_meter():
    recent_record = {"start": datetime.now(pytz.utc) - timedelta(days=390),
            "end": datetime.now(pytz.utc) - timedelta(days=360), "value": 0}
    old_record = {"start": datetime(2012,1,1,tzinfo=pytz.utc),
            "end": datetime(2012,2,1,tzinfo=pytz.utc), "value": 0}

    no_cd = ConsumptionData([],
            "electricity", "kWh", record_type="arbitrary")
    old_cd = ConsumptionData([old_record],
            "electricity", "kWh", record_type="arbitrary")
    recent_cd = ConsumptionData([recent_record],
            "electricity", "kWh", record_type="arbitrary")
    mixed_cd = ConsumptionData([recent_record,old_record],
            "electricity", "kWh", record_type="arbitrary")

    meter = RecentReadingMeter()
    assert meter.evaluate_raw(consumption_data=no_cd)["n_days"] == np.inf
    assert meter.evaluate_raw(consumption_data=old_cd)["n_days"] == 31
    assert meter.evaluate_raw(consumption_data=recent_cd)["n_days"] == 30
    assert meter.evaluate_raw(consumption_data=mixed_cd)["n_days"] == 30
Example #3
0
def test_recent_reading_meter():
    recent_record = {
        "start": datetime.now(pytz.utc) - timedelta(days=390),
        "end": datetime.now(pytz.utc) - timedelta(days=360),
        "value": 0
    }
    old_record = {
        "start": datetime(2012, 1, 1, tzinfo=pytz.utc),
        "end": datetime(2012, 2, 1, tzinfo=pytz.utc),
        "value": 0
    }

    no_cd = ConsumptionData([], "electricity", "kWh", record_type="arbitrary")
    old_cd = ConsumptionData([old_record],
                             "electricity",
                             "kWh",
                             record_type="arbitrary")
    recent_cd = ConsumptionData([recent_record],
                                "electricity",
                                "kWh",
                                record_type="arbitrary")
    mixed_cd = ConsumptionData([recent_record, old_record],
                               "electricity",
                               "kWh",
                               record_type="arbitrary")

    meter = RecentReadingMeter()
    assert meter.evaluate_raw(consumption_data=no_cd)["n_days"] == np.inf
    assert meter.evaluate_raw(consumption_data=old_cd)["n_days"] == 31
    assert meter.evaluate_raw(consumption_data=recent_cd)["n_days"] == 30
    assert meter.evaluate_raw(consumption_data=mixed_cd)["n_days"] == 30