unit.py (1755B)
1 import unittest 2 3 from usawa import UnitIndex 4 5 6 class TestUnit(unittest.TestCase): 7 8 def setUp(self): 9 self.uidx_default = UnitIndex('FOO') 10 self.uidx_three = UnitIndex('FOO', precision=3) 11 self.uidx_none = UnitIndex('FOO', precision=0) 12 self.uidx_default.add('BAR', precision=4, ex=0.2) 13 14 15 def test_tostring(self): 16 v = self.uidx_default.to_floatstring('FOO', 12345) 17 self.assertEqual(v, '123.45') 18 v = self.uidx_three.to_floatstring('FOO', 12345) 19 self.assertEqual(v, '12.345') 20 v = self.uidx_three.to_floatstring('FOO', 123) 21 self.assertEqual(v, '0.123') 22 v = self.uidx_three.to_floatstring('FOO', 1) 23 self.assertEqual(v, '0.001') 24 v = self.uidx_none.to_floatstring('FOO', 12345) 25 self.assertEqual(v, '12345') 26 v = self.uidx_none.to_floatstring('FOO', 123) 27 self.assertEqual(v, '123') 28 v = self.uidx_default.to_floatstring('BAR', 12345) 29 self.assertEqual(v, '1.2345') 30 31 32 def test_fromstring(self): 33 v = self.uidx_default.from_floatstring('FOO', '123.45') 34 self.assertEqual(v, 12345) 35 v = self.uidx_three.from_floatstring('FOO', '12.345') 36 self.assertEqual(v, 12345) 37 v = self.uidx_three.from_floatstring('FOO', '0.123') 38 self.assertEqual(v, 123) 39 v = self.uidx_three.from_floatstring('FOO', '0.001') 40 self.assertEqual(v, 1) 41 v = self.uidx_none.from_floatstring('FOO', '12345') 42 self.assertEqual(v, 12345) 43 v = self.uidx_none.from_floatstring('FOO', '123') 44 self.assertEqual(v, 123) 45 v = self.uidx_default.from_floatstring('BAR', '1.2345') 46 self.assertEqual(v, 12345) 47 48 49 if __name__ == '__main__': 50 unittest.main()