usawa

Signed, immutable accounting.
Info | Log | Files | Refs | Submodules | LICENSE

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()