pull/36/head
Konstantin Gründger 2017-10-02 18:09:06 +02:00
rodzic 49fb94272d
commit 0cf71b99af
3 zmienionych plików z 58 dodań i 59 usunięć

Wyświetl plik

@ -65,8 +65,7 @@ class TestStringMethods(unittest.TestCase):
def test_v026_chile(self):
# receiver beacons from chile have a APRS position message with a pure user comment
raw_message = "VITACURA1>APRS,TCPIP*,qAC,GLIDERN4:/201146h3322.79SI07034.80W&/A=002329 Vitacura Municipal Aerodrome, Club de Planeadores Vitacura"
message = parse(raw_message)
message = parse("VITACURA1>APRS,TCPIP*,qAC,GLIDERN4:/201146h3322.79SI07034.80W&/A=002329 Vitacura Municipal Aerodrome, Club de Planeadores Vitacura", reference_date=datetime(2015, 1, 1))
self.assertEqual(message['user_comment'], "Vitacura Municipal Aerodrome, Club de Planeadores Vitacura")

Wyświetl plik

@ -9,54 +9,54 @@ class TestStringMethods(unittest.TestCase):
self.assertEqual(parse_aircraft_beacon("notAValidToken"), None)
def test_basic(self):
aircraft_beacon = parse_aircraft_beacon("id0ADDA5BA -454fpm -1.1rot 8.8dB 0e +51.2kHz gps4x5 hear1084 hearB597 hearB598")
message = parse_aircraft_beacon("id0ADDA5BA -454fpm -1.1rot 8.8dB 0e +51.2kHz gps4x5 hear1084 hearB597 hearB598")
self.assertEqual(aircraft_beacon['address_type'], 2)
self.assertEqual(aircraft_beacon['aircraft_type'], 2)
self.assertFalse(aircraft_beacon['stealth'])
self.assertEqual(aircraft_beacon['address'], "DDA5BA")
self.assertAlmostEqual(aircraft_beacon['climb_rate'] * ms2fpm, -454, 2)
self.assertEqual(aircraft_beacon['turn_rate'], -1.1)
self.assertEqual(aircraft_beacon['signal_quality'], 8.8)
self.assertEqual(aircraft_beacon['error_count'], 0)
self.assertEqual(aircraft_beacon['frequency_offset'], 51.2)
self.assertEqual(aircraft_beacon['gps_status'], '4x5')
self.assertEqual(len(aircraft_beacon['proximity']), 3)
self.assertEqual(aircraft_beacon['proximity'][0], '1084')
self.assertEqual(aircraft_beacon['proximity'][1], 'B597')
self.assertEqual(aircraft_beacon['proximity'][2], 'B598')
self.assertEqual(message['address_type'], 2)
self.assertEqual(message['aircraft_type'], 2)
self.assertFalse(message['stealth'])
self.assertEqual(message['address'], "DDA5BA")
self.assertAlmostEqual(message['climb_rate'] * ms2fpm, -454, 2)
self.assertEqual(message['turn_rate'], -1.1)
self.assertEqual(message['signal_quality'], 8.8)
self.assertEqual(message['error_count'], 0)
self.assertEqual(message['frequency_offset'], 51.2)
self.assertEqual(message['gps_status'], '4x5')
self.assertEqual(len(message['proximity']), 3)
self.assertEqual(message['proximity'][0], '1084')
self.assertEqual(message['proximity'][1], 'B597')
self.assertEqual(message['proximity'][2], 'B598')
def test_stealth(self):
aircraft_beacon = parse_aircraft_beacon("id0ADD1234 -454fpm -1.1rot 8.8dB 0e +51.2kHz gps4x5 hear1084 hearB597 hearB598")
self.assertFalse(aircraft_beacon['stealth'])
message = parse_aircraft_beacon("id0ADD1234 -454fpm -1.1rot 8.8dB 0e +51.2kHz gps4x5 hear1084 hearB597 hearB598")
self.assertFalse(message['stealth'])
aircraft_beacon = parse_aircraft_beacon("id8ADD1234 -454fpm -1.1rot 8.8dB 0e +51.2kHz gps4x5 hear1084 hearB597 hearB598")
self.assertTrue(aircraft_beacon['stealth'])
message = parse_aircraft_beacon("id8ADD1234 -454fpm -1.1rot 8.8dB 0e +51.2kHz gps4x5 hear1084 hearB597 hearB598")
self.assertTrue(message['stealth'])
def test_v024(self):
aircraft_beacon = parse_aircraft_beacon("id21400EA9 -2454fpm +0.9rot 19.5dB 0e -6.6kHz gps1x1 s6.02 h0A rDF0C56")
message = parse_aircraft_beacon("id21400EA9 -2454fpm +0.9rot 19.5dB 0e -6.6kHz gps1x1 s6.02 h0A rDF0C56")
self.assertEqual(aircraft_beacon['software_version'], 6.02)
self.assertEqual(aircraft_beacon['hardware_version'], 10)
self.assertEqual(aircraft_beacon['real_address'], "DF0C56")
self.assertEqual(message['software_version'], 6.02)
self.assertEqual(message['hardware_version'], 10)
self.assertEqual(message['real_address'], "DF0C56")
def test_v024_ogn_tracker(self):
aircraft_beacon = parse_aircraft_beacon("id07353800 +020fpm -14.0rot FL004.43 38.5dB 0e -2.9kHz")
message = parse_aircraft_beacon("id07353800 +020fpm -14.0rot FL004.43 38.5dB 0e -2.9kHz")
self.assertEqual(aircraft_beacon['flightlevel'], 4.43)
self.assertEqual(message['flightlevel'], 4.43)
def test_v025(self):
aircraft_beacon = parse_aircraft_beacon("id06DDE28D +535fpm +3.8rot 11.5dB 0e -1.0kHz gps2x3 s6.01 h0C +7.4dBm")
message = parse_aircraft_beacon("id06DDE28D +535fpm +3.8rot 11.5dB 0e -1.0kHz gps2x3 s6.01 h0C +7.4dBm")
self.assertEqual(aircraft_beacon['signal_power'], 7.4)
self.assertEqual(message['signal_power'], 7.4)
def test_v026(self):
# from 0.2.6 it is sufficent we have only the ID, climb and turn rate or just the ID
aircraft_beacon_triple = parse_aircraft_beacon("id093D0930 +000fpm +0.0rot")
aircraft_beacon_single = parse_aircraft_beacon("id093D0930")
message_triple = parse_aircraft_beacon("id093D0930 +000fpm +0.0rot")
message_single = parse_aircraft_beacon("id093D0930")
self.assertIsNotNone(aircraft_beacon_triple)
self.assertIsNotNone(aircraft_beacon_single)
self.assertIsNotNone(message_triple)
self.assertIsNotNone(message_single)
if __name__ == '__main__':

Wyświetl plik

@ -8,39 +8,39 @@ class TestStringMethods(unittest.TestCase):
self.assertEqual(parse_receiver_beacon("notAValidToken"), None)
def test_v021(self):
receiver_beacon = parse_receiver_beacon("v0.2.1 CPU:0.8 RAM:25.6/458.9MB NTP:0.1ms/+2.3ppm +51.9C RF:+26-1.4ppm/-0.25dB")
message = parse_receiver_beacon("v0.2.1 CPU:0.8 RAM:25.6/458.9MB NTP:0.1ms/+2.3ppm +51.9C RF:+26-1.4ppm/-0.25dB")
self.assertEqual(receiver_beacon['version'], "0.2.1")
self.assertEqual(receiver_beacon['cpu_load'], 0.8)
self.assertEqual(receiver_beacon['free_ram'], 25.6)
self.assertEqual(receiver_beacon['total_ram'], 458.9)
self.assertEqual(receiver_beacon['ntp_error'], 0.1)
self.assertEqual(receiver_beacon['rt_crystal_correction'], 2.3)
self.assertEqual(receiver_beacon['cpu_temp'], 51.9)
self.assertEqual(message['version'], "0.2.1")
self.assertEqual(message['cpu_load'], 0.8)
self.assertEqual(message['free_ram'], 25.6)
self.assertEqual(message['total_ram'], 458.9)
self.assertEqual(message['ntp_error'], 0.1)
self.assertEqual(message['rt_crystal_correction'], 2.3)
self.assertEqual(message['cpu_temp'], 51.9)
self.assertEqual(receiver_beacon['rec_crystal_correction'], 26)
self.assertEqual(receiver_beacon['rec_crystal_correction_fine'], -1.4)
self.assertEqual(receiver_beacon['rec_input_noise'], -0.25)
self.assertEqual(message['rec_crystal_correction'], 26)
self.assertEqual(message['rec_crystal_correction_fine'], -1.4)
self.assertEqual(message['rec_input_noise'], -0.25)
def test_v022(self):
receiver_beacon = parse_receiver_beacon("v0.2.2.x86 CPU:0.5 RAM:669.9/887.7MB NTP:1.0ms/+6.2ppm +52.0C RF:+0.06dB")
self.assertEqual(receiver_beacon['platform'], 'x86')
message = parse_receiver_beacon("v0.2.2.x86 CPU:0.5 RAM:669.9/887.7MB NTP:1.0ms/+6.2ppm +52.0C RF:+0.06dB")
self.assertEqual(message['platform'], 'x86')
def test_v025(self):
receiver_beacon = parse_receiver_beacon("v0.2.5.RPI-GPU CPU:0.8 RAM:287.3/458.7MB NTP:1.0ms/-6.4ppm 5.016V 0.534A +51.9C RF:+55+0.4ppm/-0.67dB/+10.8dB@10km[57282]")
self.assertEqual(receiver_beacon['voltage'], 5.016)
self.assertEqual(receiver_beacon['amperage'], 0.534)
self.assertEqual(receiver_beacon['senders_signal'], 10.8)
self.assertEqual(receiver_beacon['senders_messages'], 57282)
message = parse_receiver_beacon("v0.2.5.RPI-GPU CPU:0.8 RAM:287.3/458.7MB NTP:1.0ms/-6.4ppm 5.016V 0.534A +51.9C RF:+55+0.4ppm/-0.67dB/+10.8dB@10km[57282]")
self.assertEqual(message['voltage'], 5.016)
self.assertEqual(message['amperage'], 0.534)
self.assertEqual(message['senders_signal'], 10.8)
self.assertEqual(message['senders_messages'], 57282)
receiver_beacon = parse_receiver_beacon("v0.2.5.ARM CPU:0.4 RAM:638.0/970.5MB NTP:0.2ms/-1.1ppm +65.5C 14/16Acfts[1h] RF:+45+0.0ppm/+3.88dB/+24.0dB@10km[143717]/+26.7dB@10km[68/135]")
self.assertEqual(receiver_beacon['senders_visible'], 14)
self.assertEqual(receiver_beacon['senders_total'], 16)
self.assertEqual(receiver_beacon['senders_signal'], 24.0)
self.assertEqual(receiver_beacon['senders_messages'], 143717)
self.assertEqual(receiver_beacon['good_senders_signal'], 26.7)
self.assertEqual(receiver_beacon['good_senders'], 68)
self.assertEqual(receiver_beacon['good_and_bad_senders'], 135)
message = parse_receiver_beacon("v0.2.5.ARM CPU:0.4 RAM:638.0/970.5MB NTP:0.2ms/-1.1ppm +65.5C 14/16Acfts[1h] RF:+45+0.0ppm/+3.88dB/+24.0dB@10km[143717]/+26.7dB@10km[68/135]")
self.assertEqual(message['senders_visible'], 14)
self.assertEqual(message['senders_total'], 16)
self.assertEqual(message['senders_signal'], 24.0)
self.assertEqual(message['senders_messages'], 143717)
self.assertEqual(message['good_senders_signal'], 26.7)
self.assertEqual(message['good_senders'], 68)
self.assertEqual(message['good_and_bad_senders'], 135)
if __name__ == '__main__':