From 4181ab3a16b1cae91a1c35806067e74f7e669e9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= Date: Wed, 29 Jan 2014 22:38:11 +0000 Subject: Initial support for OneTouch Ultra Easy glucometers. The driver is fully functional but requires proper documentation and testing. --- test/test_otultraeasy.py | 60 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 test/test_otultraeasy.py (limited to 'test') diff --git a/test/test_otultraeasy.py b/test/test_otultraeasy.py new file mode 100644 index 0000000..326aeea --- /dev/null +++ b/test/test_otultraeasy.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +"""Tests for the LifeScan OneTouch Ultra Mini driver.""" + +__author__ = 'Diego Elio Pettenò' +__email__ = 'flameeyes@flameeyes.eu' +__copyright__ = 'Copyright © 2013, Diego Elio Pettenò' +__license__ = 'MIT' + +import array +import os +import sys +import unittest + +import mock + +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from glucometerutils.drivers import lifescan_common +from glucometerutils.drivers import otultraeasy +from glucometerutils import exceptions + +class TestOTUltraMini(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 = otultraeasy.Device('mockdevice') + + def testCrc(self): + self.assertEqual( + 0x41cd, + otultraeasy._Packet._crc(b'\x02\x06\x06\x03')) + + cmd_array = array.array('B', b'\x02\x06\x08\x03') + self.assertEqual( + 0x62C2, + otultraeasy._Packet._crc(cmd_array)) + + def testPacketUpdateChecksum(self): + packet = otultraeasy._Packet() + + packet.build_command('') + packet.disconnect = True + + packet.update_checksum() + self.assertEqual( + b'\x02\x06\x08\x03\xC2\x62', + packet.tobytes()) + + packet.validate_checksum() + packet.disconnect = False + + with self.assertRaises(lifescan_common.InvalidChecksum): + packet.validate_checksum() + + +if __name__ == '__main__': + unittest.main() -- cgit v1.2.3