Пример #1
0
def test_normalize_raw_fallback():
    """This input line doesn't have a REPORTED_VALUE but falls back to the
    RAW_VALUE"""
    lines = b"""DATE_PST,EMS_ID,STATION_NAME,PARAMETER,AIR_PARAMETER,INSTRUMENT,RAW_VALUE,UNIT,STATUS,AIRCODESTATUS,STATUS_DESCRIPTION,REPORTED_VALUE
2018-07-30 14:00,0250009,Trail Butler Park Met_60,HUMIDITY,HUMIDITY,HUMIDITY,11.68,% RH,1,n/a,Data Ok,
"""  # noqa
    rows = [row for row in normalize(BytesIO(lines))]
    assert len(rows) == 1
Пример #2
0
def test_normalize_good_data():
    lines = b'''DATE_PST,EMS_ID,STATION_NAME,PARAMETER,AIR_PARAMETER,INSTRUMENT,RAW_VALUE,UNIT,STATUS,AIRCODESTATUS,STATUS_DESCRIPTION,REPORTED_VALUE
2018-07-30 14:00,0250009,Trail Butler Park Met_60,HUMIDITY,HUMIDITY,HUMIDITY,11.68,% RH,1,n/a,Data Ok,11.7
2018-07-30 13:00,0250009,Trail Butler Park Met_60,HUMIDITY,HUMIDITY,HUMIDITY,17.62,% RH,1,n/a,Data Ok,17.6
2018-07-30 12:00,0250009,Trail Butler Park Met_60,HUMIDITY,HUMIDITY,HUMIDITY,21.76,% RH,1,n/a,Data Ok,21.8
2018-07-30 11:00,0250009,Trail Butler Park Met_60,HUMIDITY,HUMIDITY,HUMIDITY,27.87,% RH,1,n/a,Data Ok,27.9
2018-07-30 10:00,0250009,Trail Butler Park Met_60,HUMIDITY,HUMIDITY,HUMIDITY,34.03,% RH,1,n/a,Data Ok,34.0
''' # noqa
    rows = [row for row in normalize(BytesIO(lines))]
    assert len(rows) == 5
    for row in rows:
        assert row.unit == '%'
Пример #3
0
def test_normalize_bad_date():
    lines = b'''DATE_PST,EMS_ID,STATION_NAME,PARAMETER,AIR_PARAMETER,INSTRUMENT,RAW_VALUE,UNIT,STATUS,AIRCODESTATUS,STATUS_DESCRIPTION,REPORTED_VALUE
BAD_DATE,0250009,Trail Butler Park Met_60,HUMIDITY,HUMIDITY,HUMIDITY,11.68,% RH,1,n/a,Data Ok,11.7
''' # noqa
    rows = [row for row in normalize(BytesIO(lines))]
    assert len(rows) == 0
Пример #4
0
def test_normalize_unpack_error_catch():
    lines = b'''DATE_PST,EMS_ID,STATION_NAME,PARAMETER,AIR_PARAMETER,INSTRUMENT,RAW_VALUE,UNIT,STATUS,AIRCODESTATUS,STATUS_DESCRIPTION,REPORTED_VALUE, BAD_VAR
2018-07-30 14:00,0250009,Trail Butler Park Met_60,HUMIDITY,HUMIDITY,HUMIDITY,11.68,% RH,1,n/a,Data Ok,11.7,bad_var
''' # noqa
    rows = [row for row in normalize(BytesIO(lines))]
    assert len(rows) == 0
Пример #5
0
def test_substitutions():
    lines = b"""DATE_PST,EMS_ID,STATION_NAME,PARAMETER,AIR_PARAMETER,INSTRUMENT,RAW_VALUE,UNIT,STATUS,AIRCODESTATUS,STATUS_DESCRIPTION,REPORTED_VALUE
2021-05-25 15:15:00,M110514,Does not matter,HUMIDITY,HUMIDITY,HUMIDITY,11.68,% RH,1,n/a,Data Ok,11.7
"""  # noq
    row = next(normalize(BytesIO(lines)))
    assert row.network_name == "MVan"
Пример #6
0
def test_normalize_bad_date():
    lines = b"""DATE_PST,EMS_ID,STATION_NAME,PARAMETER,AIR_PARAMETER,INSTRUMENT,RAW_VALUE,UNIT,STATUS,AIRCODESTATUS,STATUS_DESCRIPTION,REPORTED_VALUE
BAD_DATE,0250009,Trail Butler Park Met_60,HUMIDITY,HUMIDITY,HUMIDITY,11.68,% RH,1,n/a,Data Ok,11.7
"""  # noqa
    rows = [row for row in normalize(BytesIO(lines))]
    assert len(rows) == 0
Пример #7
0
def test_normalize_missing_value():
    lines = b"""DATE_PST,EMS_ID,STATION_NAME,PARAMETER,AIR_PARAMETER,INSTRUMENT,RAW_VALUE,UNIT,STATUS,AIRCODESTATUS,STATUS_DESCRIPTION,REPORTED_VALUE
2018-07-30 14:00,0250009,Trail Butler Park Met_60,HUMIDITY,HUMIDITY,HUMIDITY,,% RH,1,n/a,Data Ok,
"""  # noqa
    rows = [row for row in normalize(BytesIO(lines))]
    assert len(rows) == 0
Пример #8
0
def test_normalize_good_data(lines):
    rows = [row for row in normalize(BytesIO(lines))]
    assert len(rows) == 5
    for row in rows:
        assert row.unit == "%"