# -*- coding: utf-8 -*- """Tests for the common routines.""" __author__ = 'Diego Elio Pettenò' __email__ = 'flameeyes@flameeyes.eu' __copyright__ = 'Copyright © 2013, Diego Elio Pettenò' __license__ = 'MIT' import os import sys import unittest from absl.testing import parameterized sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from glucometerutils import common from glucometerutils import exceptions class TestGlucoseConversion(parameterized.TestCase): def test_convert_to_mmol(self): self.assertEqual( 5.56, common.convert_glucose_unit( 100, common.Unit.MG_DL, common.Unit.MMOL_L)) def test_convert_to_mgdl(self): self.assertEqual( 180, common.convert_glucose_unit( 10, common.Unit.MMOL_L, common.Unit.MG_DL)) @parameterized.parameters(list(common.Unit)) def test_convert_identity(self, unit): self.assertEqual( 100, common.convert_glucose_unit( 100, unit, unit)) @parameterized.parameters([unit.value for unit in common.Unit]) def test_convert_identity_str(self, unit_str): self.assertEqual( 100, common.convert_glucose_unit( 100, unit_str, unit_str)) @parameterized.parameters( (common.Unit.MMOL_L, 'foo'), ('foo', common.Unit.MG_DL), (None, common.Unit.MG_DL), (common.Meal.NONE, common.Unit.MG_DL)) def test_invalid_values(self, from_unit, to_unit): with self.assertRaises(Exception): common.convert_glucose_unit(100, from_unit, to_unit) if __name__ == '__main__': unittest.main()