def test_consumption_data_pulse(records_pulse, fuel_type, unit_name): with pytest.raises(ValueError): cd = ConsumptionData(records_pulse, fuel_type, unit_name, record_type="pulse") with pytest.raises(ValueError): cd = ConsumptionData(records_pulse, fuel_type, unit_name, record_type="pulse", pulse_value=0) with pytest.raises(ValueError): cd = ConsumptionData(records_pulse, fuel_type, unit_name, record_type="pulse", pulse_value=-1) cd = ConsumptionData(records_pulse, fuel_type, unit_name, record_type="pulse", pulse_value=1) assert cd.pulse_value == 1 assert_allclose(cd.data.values,[np.nan,1,1,1,1], rtol=RTOL, atol=ATOL) assert cd.data.index[0] == datetime(2015,1,1) assert cd.data.index[4] == datetime(2015,2,1) assert cd.freq is None assert cd.freq_timedelta is None assert cd.pulse_value == 1 generated_records = cd.records(record_type="pulse") sorted_records = sorted(records_pulse, key=lambda x: x["pulse"]) assert len(generated_records) == len(sorted_records) for r1, r2 in zip(generated_records,sorted_records): assert r1 == r2
def test_consumption_data_arbitrary_end(records_arbitrary_end, fuel_type, unit_name, record_type_arbitrary_end): cd = ConsumptionData(records_arbitrary_end, fuel_type, unit_name, record_type=record_type_arbitrary_end) assert_allclose(cd.data.values, [0, 0, 0, 1, 0, np.nan], rtol=RTOL, atol=ATOL) assert cd.data.index[0] == datetime(2014, 2, 2) assert cd.data.index[5] == datetime(2015, 2, 1) assert cd.freq is None assert cd.freq_timedelta is None assert cd.pulse_value is None generated_records = cd.records(record_type=record_type_arbitrary_end) assert len(generated_records) == 6 assert generated_records[0] == { "end": datetime(2014, 2, 2), "value": np.nan, "estimated": False } assert generated_records[5] == { "end": datetime(2015, 2, 1), "value": 0, "estimated": False }
def test_consumption_data_pulse(records_pulse, fuel_type, unit_name): with pytest.raises(ValueError): cd = ConsumptionData(records_pulse, fuel_type, unit_name, record_type="pulse") with pytest.raises(ValueError): cd = ConsumptionData(records_pulse, fuel_type, unit_name, record_type="pulse", pulse_value=0) with pytest.raises(ValueError): cd = ConsumptionData(records_pulse, fuel_type, unit_name, record_type="pulse", pulse_value=-1) cd = ConsumptionData(records_pulse, fuel_type, unit_name, record_type="pulse", pulse_value=1) assert cd.pulse_value == 1 assert_allclose(cd.data.values,[np.nan,1,1,1,1], rtol=RTOL, atol=ATOL) assert cd.data.index[0] == datetime(2015,1,1) assert cd.data.index[4] == datetime(2015,2,1) assert cd.freq is None assert cd.freq_timedelta is None assert cd.pulse_value == 1 generated_records = cd.records(record_type="pulse") sorted_records = sorted(records_pulse, key=lambda x: x["pulse"]) assert len(generated_records) == len(sorted_records) for r1, r2 in zip(generated_records,sorted_records): assert r1 == r2
def test_consumption_data_arbitrary_end(records_arbitrary_end, fuel_type, unit_name, record_type_arbitrary_end): cd = ConsumptionData(records_arbitrary_end, fuel_type, unit_name, record_type=record_type_arbitrary_end) assert_allclose(cd.data.values,[0,0,0,1,0,np.nan], rtol=RTOL, atol=ATOL) assert cd.data.index[0] == datetime(2014,2,2) assert cd.data.index[5] == datetime(2015,2,1) assert cd.freq is None assert cd.freq_timedelta is None assert cd.pulse_value is None generated_records = cd.records(record_type=record_type_arbitrary_end) assert len(generated_records) == 6 assert generated_records[0] == {"end": datetime(2014,2,2),"value": np.nan, "estimated": False} assert generated_records[5] == {"end": datetime(2015,2,1),"value":0, "estimated": False}
def test_consumption_data_arbitrary_start(records_arbitrary_start, fuel_type, unit_name, record_type_arbitrary_start): cd = ConsumptionData(records_arbitrary_start, fuel_type, unit_name, record_type=record_type_arbitrary_start) assert_allclose(cd.data.values,[0,0,0,1,np.nan], rtol=RTOL, atol=ATOL) assert cd.data.index[0] == datetime(2015,1,1) assert cd.data.index[4] == datetime(2015,2,1) assert cd.freq is None assert cd.freq_timedelta is None assert cd.pulse_value is None generated_records = cd.records(record_type=record_type_arbitrary_start) assert len(generated_records) == 5 assert generated_records[0] == {"start": datetime(2015,1,1), "value": 0, "estimated": False} assert generated_records[4]["start"] == datetime(2015,2,1) assert pd.isnull(generated_records[4]["value"]) assert len(generated_records[4].keys()) == 3
def test_consumption_data_arbitrary_start(records_arbitrary_start, fuel_type, unit_name, record_type_arbitrary_start): cd = ConsumptionData(records_arbitrary_start, fuel_type, unit_name, record_type=record_type_arbitrary_start) assert_allclose(cd.data.values,[0,0,0,1,np.nan], rtol=RTOL, atol=ATOL) assert cd.data.index[0] == datetime(2015,1,1) assert cd.data.index[4] == datetime(2015,2,1) assert cd.freq is None assert cd.freq_timedelta is None assert cd.pulse_value is None generated_records = cd.records(record_type=record_type_arbitrary_start) assert len(generated_records) == 5 assert generated_records[0] == {"start": datetime(2015,1,1), "value": 0, "estimated": False} assert generated_records[4]["start"] == datetime(2015,2,1) assert pd.isnull(generated_records[4]["value"]) assert len(generated_records[4].keys()) == 3