diff options
Diffstat (limited to 'test/test_otultra2.py')
-rw-r--r-- | test/test_otultra2.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/test/test_otultra2.py b/test/test_otultra2.py new file mode 100644 index 0000000..f8e0cb1 --- /dev/null +++ b/test/test_otultra2.py @@ -0,0 +1,48 @@ +import os +import sys +import unittest + +import mock + +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from glucometerutils import common +from glucometerutils.drivers import otultra2 +from glucometerutils import exceptions + +class TestOTUltra2(unittest.TestCase): + def setUp(self): + self.addCleanup(mock.patch.stopall) + + mock_serial = mock.patch('serial.Serial').start() + self.mock_readline = mock_serial.return_value.readline + + self.device = otultra2.Device('mockdevice') + + def testMissingChecksum(self): + self.mock_readline.return_value = bytes('INVALID', 'ascii') + + self.assertRaises(otultra2.MissingChecksum, + self.device.GetSerialNumber) + + def testShortResponse(self): + self.mock_readline.return_value = bytes('.\r', 'ascii') + + self.assertRaises(exceptions.InvalidResponse, + self.device.GetSerialNumber) + + def testInvalidResponse(self): + self.mock_readline.return_value = bytes('% 1337\r', 'ascii') + + self.assertRaises(exceptions.InvalidResponse, + self.device.GetSerialNumber) + + def testInvalidSerialNumber(self): + self.mock_readline.return_value = bytes( + '@ "12345678O" 1337\r', 'ascii') + + self.assertRaises(otultra2.InvalidSerialNumber, + self.device.GetSerialNumber) + +if __name__ == '__main__': + unittest.main() |