def test_decode_uncompressed_latitude_complete_garbage(): with pytest.raises(ValueError): # Random garbage APRSUtils.decode_uncompressed_latitude("GARBAGE")
def test_decode_uncompressed_latitude_malformed_latitude(): with pytest.raises(ValueError): # Period is in the wrong position APRSUtils.decode_uncompressed_latitude("49035.0N")
def test_decode_uncompressed_latitude_invalid_ambiguity(): with pytest.raises(ValueError): # >4 units of ambiguity is invalid for latitude APRSUtils.decode_uncompressed_latitude("5 . N")
def test_decode_uncompressed_latitude_invalid_direction(): with pytest.raises(ValueError): # West is not a valid latitude direction APRSUtils.decode_uncompressed_latitude("4903.50W")
def test_decode_uncompressed_latitude_invalid_latitude(): with pytest.raises(ParseError): # 91 degrees north is not a valid latitude APRSUtils.decode_uncompressed_latitude("9100.00N")
def test_decode_uncompressed_latitude_with_ambiguity_4(): # Test uncompressed latitude with 4 levels of ambiguity lat, ambiguity = APRSUtils.decode_uncompressed_latitude("49 . N") assert lat == 49 assert ambiguity == 4
def test_decode_uncompressed_latitude_with_ambiguity_1(): # Test uncompressed latitude with 1 level of ambiguity lat, ambiguity = APRSUtils.decode_uncompressed_latitude("4903.5 N") assert lat == 49.058333 assert ambiguity == 1
def test_decode_uncompressed_latitude_without_ambiguity(): # Test uncompressed latitude without ambiguity lat, ambiguity = APRSUtils.decode_uncompressed_latitude("4903.55N") assert lat == 49.059167 assert ambiguity == 0