Exemplo n.º 1
0
def test_process_B_record():
    """Check whether correct extension information is taken from B record"""

    # split up per extension for easy reading
    i_record = 'I08' + '3638FXA' + '3941ENL' + '4246TAS' + '4751GSP' + '5254TRT' + '5559VAT' + '6063OAT' + '6467ACZ'
    fix_record_extensions = LowLevelReader.decode_I_record(i_record)

    # split up per 10 to enable easy counting
    b_record = 'B093232520' + '2767N00554' + '786EA00128' '0019600600' '1145771529' + '3177005930' + '2770090'

    decoded_b_record = LowLevelReader.decode_B_record(b_record)
    processed_b_record = LowLevelReader.process_B_record(
        decoded_b_record, fix_record_extensions)

    # split per extension: 006 001 14577 15293 177 00593 0277 0090
    expected_values = [
        ('FXA', (36, 38), 6),
        ('ENL', (39, 41), 1),
        ('TAS', (42, 46), 14577),
        ('GSP', (47, 51), 15293),
        ('TRT', (52, 54), 177),
        ('VAT', (55, 59), 593),
        ('OAT', (60, 63), 277),
        ('ACZ', (64, 67), 90),
    ]

    for extension, bytes, expected_value in expected_values:
        assert {
            'bytes': bytes,
            'extension_type': extension
        } in fix_record_extensions
        assert extension in processed_b_record
        assert expected_value == processed_b_record[extension]
Exemplo n.º 2
0
def test_process_B_record():

    """Check whether correct extension information is taken from B record"""

    # split up per extension for easy reading
    i_record = 'I08' + '3638FXA' + '3941ENL' + '4246TAS' + '4751GSP' + '5254TRT' + '5559VAT' + '6063OAT' + '6467ACZ'
    fix_record_extensions = LowLevelReader.decode_I_record(i_record)

    # split up per 10 to enable easy counting
    b_record = 'B093232520' + '2767N00554' + '786EA00128' '0019600600' '1145771529' + '3177005930' + '2770090'

    decoded_b_record = LowLevelReader.decode_B_record(b_record)
    processed_b_record = LowLevelReader.process_B_record(decoded_b_record, fix_record_extensions)

    # split per extension: 006 001 14577 15293 177 00593 0277 0090
    expected_values = [
        ('FXA', (36, 38), 6),
        ('ENL', (39, 41), 1),
        ('TAS', (42, 46), 14577),
        ('GSP', (47, 51), 15293),
        ('TRT', (52, 54), 177),
        ('VAT', (55, 59), 593),
        ('OAT', (60, 63), 277),
        ('ACZ', (64, 67), 90),
    ]

    for extension, bytes, expected_value in expected_values:
        assert {'bytes': bytes, 'extension_type': extension} in fix_record_extensions
        assert extension in processed_b_record
        assert expected_value == processed_b_record[extension]
Exemplo n.º 3
0
def test_decode_invalid_B_record():
    """Test whether decoding invalid B record raise Error"""

    invalid_b_records = [
        'B1053175438931N0ÿÿÿøÈÐÀÀÜÐáÀÄÈàÔÀÄÈÌØÀÀÜÀÀ',
        'BÿÿÿøÄÀÈÌÄàÐäÐàààÁ8ÀÄÔÀäÈÌå��ÀÄàÔäÀ',
        'B1140ÿÿÿøÌÈÔÐÌÌààÑ8ÀÈÐÈÌàÌÕÀÀääÈÀÀäÔ',
        'B1309044931600N0153ÿÿÿøÐÀÄÍÀÄÔÌØÀÄÔÜØÀÀäÀ',
        'B10470349ÿÿÿøÌÔäØÕ8ÀÄÔÄÈàÜÙÀÄàÐÐÀÄäÀÜÀÀØÀ',
        'B11052249474ÿÿÿøÀÉ8ÀÄÔÀÜÜäÕÀÄÌÐÌÀÄÐÀÈÀÀÔÀ',
        'B12ÿÿÿøÐØÀÌÐäÐÈØäÝ8ÀÄÔÄÜÌÐÑÀÄØÐàÀÄÜÐÀÀÀÜÀÀÀ4)ÄÈ',
        'B1124185148269N9833N00553309EA0084800873000068000000',
        'B1245085122369N00614242EÿÿÿùÀÄÜØÄÀÄàÐäÀÀØÀ',
    ]

    for b_record in invalid_b_records:
        with pytest.raises(ValueError):
            LowLevelReader.decode_B_record(b_record)
Exemplo n.º 4
0
def test_decode_invalid_B_record():
    """Test whether decoding invalid B record raise Error"""

    invalid_b_records = [
        'B1053175438931N0ÿÿÿøÈÐÀÀÜÐáÀÄÈàÔÀÄÈÌØÀÀÜÀÀ',
        'BÿÿÿøÄÀÈÌÄàÐäÐàààÁ8ÀÄÔÀäÈÌå��ÀÄàÔäÀ',
        'B1140ÿÿÿøÌÈÔÐÌÌààÑ8ÀÈÐÈÌàÌÕÀÀääÈÀÀäÔ',
        'B1309044931600N0153ÿÿÿøÐÀÄÍÀÄÔÌØÀÄÔÜØÀÀäÀ',
        'B10470349ÿÿÿøÌÔäØÕ8ÀÄÔÄÈàÜÙÀÄàÐÐÀÄäÀÜÀÀØÀ',
        'B11052249474ÿÿÿøÀÉ8ÀÄÔÀÜÜäÕÀÄÌÐÌÀÄÐÀÈÀÀÔÀ',
        'B12ÿÿÿøÐØÀÌÐäÐÈØäÝ8ÀÄÔÄÜÌÐÑÀÄØÐàÀÄÜÐÀÀÀÜÀÀÀ4)ÄÈ',
        'B1124185148269N9833N00553309EA0084800873000068000000',
        'B1245085122369N00614242EÿÿÿùÀÄÜØÄÀÄàÐäÀÀØÀ',
    ]

    for b_record in invalid_b_records:
        with pytest.raises(ValueError):
            LowLevelReader.decode_B_record(b_record)
Exemplo n.º 5
0
def test_decode_B_record():
    line = 'B1602455107126N00149300WA002880042919509020\r\n'
    expected_result = {
        'time': datetime.time(16, 2, 45),
        'lat': 51.118766666666666,
        'lon': -1.8216666666666668,
        'validity': 'A',
        'pressure_alt': 288,
        'gps_alt': 429,
        'start_index_extensions': 35,
        'extensions_string': '19509020'
    }

    assert LowLevelReader.decode_B_record(line) == expected_result
Exemplo n.º 6
0
def test_decode_B_record():
    line = 'B1602455107126N00149300WA002880042919509020\r\n'
    expected_result = {
        'time': datetime.time(16, 2, 45),
        'lat': 51.118766666666666,
        'lon': -1.8216666666666668,
        'validity': 'A',
        'pressure_alt': 288,
        'gps_alt': 429,
        'start_index_extensions': 35,
        'extensions_string': '19509020'
    }

    assert LowLevelReader.decode_B_record(line) == expected_result