Exemplo n.º 1
0
 def test_metar(self):
     """
     Tests converting METAR data into into a single spoken string
     """
     units = structs.Units(**static.NA_UNITS)
     data = {
         'altimeter': core.make_number('2992'),
         'clouds': [core.make_cloud('BKN015CB')],
         'dewpoint': core.make_number('M01'),
         'other': ['+RA'],
         'temperature': core.make_number('03'),
         'visibility': core.make_number('3'),
         'wind_direction': core.make_number('360'),
         'wind_gust': core.make_number('20'),
         'wind_speed': core.make_number('12'),
         'wind_variable_direction': [
             core.make_number('340'),
             core.make_number('020', speak='020')
         ]
     }
     data.update({k: None for k in (
         'raw', 'remarks', 'station', 'time', 'flight_rules',
         'remarks_info', 'runway_visibility', 'sanitized'
     )})
     data = structs.MetarData(**data)
     spoken = ('Winds three six zero (variable three four zero to zero two zero) '
               'at 12kt gusting to 20kt. Visibility three miles. '
               'Temperature three degrees Celsius. Dew point minus one degree Celsius. '
               'Altimeter two nine point nine two. Heavy Rain. '
               'Broken layer at 1500ft (Cumulonimbus)')
     ret = speech.metar(data, units)
     self.assertIsInstance(ret, str)
     self.assertEqual(ret, spoken)
Exemplo n.º 2
0
 def test_metar(self):
     """
     Tests end-to-end METAR translation
     """
     units = structs.Units(**static.core.NA_UNITS)
     data = {
         "altimeter":
         core.make_number("29.92", "2992"),
         "clouds": [core.make_cloud("BKN015CB")],
         "dewpoint":
         core.make_number("M01"),
         "other": [],
         "temperature":
         core.make_number("03"),
         "visibility":
         core.make_number("3"),
         "wind_direction":
         core.make_number("360"),
         "wind_gust":
         core.make_number("20"),
         "wind_speed":
         core.make_number("12"),
         "wind_variable_direction": [
             core.make_number("340"),
             core.make_number("020"),
         ],
         "wx_codes":
         get_wx_codes(["+RA"])[1],
     }
     data.update({
         k: ""
         for k in (
             "raw",
             "remarks",
             "station",
             "time",
             "flight_rules",
             "remarks_info",
             "runway_visibility",
             "sanitized",
         )
     })
     data = structs.MetarData(**data)
     trans = structs.MetarTrans(
         altimeter="29.92 inHg (1013 hPa)",
         clouds="Broken layer at 1500ft (Cumulonimbus) - Reported AGL",
         dewpoint="-1°C (30°F)",
         remarks={},
         temperature="3°C (37°F)",
         visibility="3sm (4.8km)",
         wind="N-360 (variable 340 to 020) at 12kt gusting to 20kt",
         wx_codes="Heavy Rain",
     )
     translated = translate.metar.translate_metar(data, units)
     self.assertIsInstance(translated, structs.MetarTrans)
     self.assertEqual(translated, trans)
Exemplo n.º 3
0
 def test_metar(self):
     """
     Tests converting METAR data into into a single spoken string
     """
     units = structs.Units(**static.core.NA_UNITS)
     data = {
         "altimeter":
         parse_altimeter("2992"),
         "clouds": [core.make_cloud("BKN015CB")],
         "dewpoint":
         core.make_number("M01"),
         "other": [],
         "temperature":
         core.make_number("03"),
         "visibility":
         core.make_number("3"),
         "wind_direction":
         core.make_number("360"),
         "wind_gust":
         core.make_number("20"),
         "wind_speed":
         core.make_number("12"),
         "wind_variable_direction": [
             core.make_number("340"),
             core.make_number("020", speak="020"),
         ],
         "wx_codes":
         get_wx_codes(["+RA"])[1],
     }
     data.update({
         k: None
         for k in (
             "raw",
             "remarks",
             "station",
             "time",
             "flight_rules",
             "remarks_info",
             "runway_visibility",
             "sanitized",
         )
     })
     data = structs.MetarData(**data)
     spoken = (
         "Winds three six zero (variable three four zero to zero two zero) "
         "at 12kt gusting to 20kt. Visibility three miles. "
         "Temperature three degrees Celsius. Dew point minus one degree Celsius. "
         "Altimeter two nine point nine two. Heavy Rain. "
         "Broken layer at 1500ft (Cumulonimbus)")
     ret = speech.metar(data, units)
     self.assertIsInstance(ret, str)
     self.assertEqual(ret, spoken)
Exemplo n.º 4
0
 def test_metar(self):
     """
     Tests end-to-end METAR translation
     """
     units = structs.Units(**static.NA_UNITS)
     data = {
         'altimeter':
         core.make_number('2992'),
         'clouds': [core.make_cloud('BKN015CB')],
         'dewpoint':
         core.make_number('M01'),
         'other': ['+RA'],
         'temperature':
         core.make_number('03'),
         'visibility':
         core.make_number('3'),
         'wind_direction':
         core.make_number('360'),
         'wind_gust':
         core.make_number('20'),
         'wind_speed':
         core.make_number('12'),
         'wind_variable_direction':
         [core.make_number('340'),
          core.make_number('020')]
     }
     data.update({
         k: ''
         for k in ('raw', 'remarks', 'station', 'time', 'flight_rules',
                   'remarks_info', 'runway_visibility', 'sanitized')
     })
     data = structs.MetarData(**data)
     trans = structs.MetarTrans(
         altimeter='29.92 inHg (1013 hPa)',
         clouds='Broken layer at 1500ft (Cumulonimbus) - Reported AGL',
         dewpoint='-1°C (30°F)',
         other='Heavy Rain',
         remarks={},
         temperature='3°C (37°F)',
         visibility='3sm (4.8km)',
         wind='N-360 (variable 340 to 020) at 12kt gusting to 20kt')
     translated = translate.metar(data, units)
     self.assertIsInstance(translated, structs.MetarTrans)
     self.assertEqual(translated, trans)