Something went wrong on our end
-
Bruce Flynn authoredBruce Flynn authored
test_parser.py 1.89 KiB
import unittest
from datetime import datetime
class ParserV0Tests(unittest.TestCase):
line = ("TIME 0 ACCURAIN 0.000000 TEMP107_4 8.139600 "
"LI200X 0.066020 TEMP107_1 9.307800 RH41372 92.064000 "
"TEMP107_5 -99999.000000 CS105 970.100000 PAROSCI 971.428000 "
"WSPD05305 8.663000 TEMP107_3 8.368400 CS10162 65.653000 "
"RAIN380M 0.000000 TEMP107_2 8.287800 TEMP41372 8.202300 "
"WDIR05305 143.380000\n")
def _cut(self):
from aosstower.l00.parser import ParserV0
return ParserV0()
def test_maybe_mine(self):
parser = self._cut()
self.assertTrue(parser.maybe_mine(self.line))
bad_line = 'xx' + self.line
self.assertFalse(parser.maybe_mine(bad_line))
def test_record_format(self):
parser = self._cut()
record = parser.parse(self.line)
self.assertIn('stamp', record)
self.assertEqual(record['stamp'], datetime(1970, 1, 1))
class ParserV1V2Tests(unittest.TestCase):
line = ("1,1970,1,0000,0,976.59,5.8564,30.085,25.893,977.36,58732,"
"47.375,24.234,23.865,22.615,37.219,6.9222,67.398,145.2,45.581,"
"22.669,10.417,145.2,22.665,163.94,0,0,30.015,29.89\n")
def _cut(self):
from aosstower.l00.parser import ParserV1V2
return ParserV1V2()
def test_maybe_mine(self):
parser = self._cut()
self.assertTrue(parser.maybe_mine(self.line))
bad_line = 'xx,' + self.line.strip()
self.assertFalse(parser.maybe_mine(bad_line))
def test_record_format(self):
parser = self._cut()
record = parser.parse(self.line)
self.assertIn('stamp', record)
self.assertEqual(record['stamp'], datetime(1970, 1, 1))
def test_record_supports_v1_and_v2(self):
parser = self._cut()
parser.parse(self.line)
parser.parse(self.line.strip() + ',999\n')