ogn-python/tests/model/test_beacon.py

32 wiersze
1.1 KiB
Python
Czysty Zwykły widok Historia

2015-10-24 21:13:21 +00:00
import unittest
2015-10-25 13:23:25 +00:00
from ogn.aprs_utils import dmsToDeg, kts2kmh, m2feet
2015-10-24 21:13:21 +00:00
from ogn.model.beacon import Beacon
class TestStringMethods(unittest.TestCase):
2015-10-27 19:50:39 +00:00
def test_fail_validation(self):
beacon = Beacon()
with self.assertRaises(Exception):
beacon.parse("notAValidString")
2015-10-24 21:13:21 +00:00
def test_basic(self):
beacon = Beacon()
beacon.parse("FLRDDA5BA>APRS,qAS,LFMX:/160829h4415.41N/00600.03E'342/049/A=005524 this is a comment")
self.assertEqual(beacon.name, "FLRDDA5BA")
self.assertEqual(beacon.receiver_name, "LFMX")
self.assertEqual(beacon.timestamp.strftime('%H:%M:%S'), "16:08:29")
self.assertAlmostEqual(beacon.latitude, dmsToDeg(44.1541), 5)
self.assertEqual(beacon.symboltable, '/')
self.assertAlmostEqual(beacon.longitude, dmsToDeg(6.0003), 5)
self.assertEqual(beacon.symbolcode, '\'')
2015-10-25 13:23:25 +00:00
self.assertEqual(beacon.track, 342)
self.assertEqual(beacon.ground_speed, 49*kts2kmh)
2015-10-24 21:13:21 +00:00
self.assertAlmostEqual(beacon.altitude*m2feet, 5524, 5)
self.assertEqual(beacon.comment, "this is a comment")
if __name__ == '__main__':
unittest.main()