comparison babel/tests/numbers.py @ 50:0896af2c49ec trunk

Added round-half-even (banker's rounding) support. Moved a couple of unit-tests from docstrings to a separate file.
author jonas
date Thu, 07 Jun 2007 22:00:43 +0000
parents e6ba3e878b10
children 2df27f49c320
comparison
equal deleted inserted replaced
49:37bd476dafe4 50:0896af2c49ec
14 import doctest 14 import doctest
15 import unittest 15 import unittest
16 16
17 from babel import numbers 17 from babel import numbers
18 18
19
20 class FormatDecimalTestCase(unittest.TestCase):
21
22 def test_subpatterns(self):
23 self.assertEqual(numbers.format_decimal(-12345, '#,##0.##;-#',
24 locale='en_US'), '-12,345')
25 self.assertEqual(numbers.format_decimal(-12345, '#,##0.##;(#)',
26 locale='en_US'), '(12,345)')
27
28 def test_default_rounding(self):
29 """Testing Round-Half-Even (Banker's rounding)
30
31 A '5' is rounded to the closest 'even' number
32 """
33 self.assertEqual(numbers.format_decimal(5.5, '0', locale='sv'), '6')
34 self.assertEqual(numbers.format_decimal(6.5, '0', locale='sv'), '6')
35 self.assertEqual(numbers.format_decimal(1.2325, locale='sv'), '1,232')
36 self.assertEqual(numbers.format_decimal(1.2325, locale='sv'), '1,232')
37 self.assertEqual(numbers.format_decimal(1.2335, locale='sv'), '1,234')
38
39
19 def suite(): 40 def suite():
20 suite = unittest.TestSuite() 41 suite = unittest.TestSuite()
21 suite.addTest(doctest.DocTestSuite(numbers)) 42 suite.addTest(doctest.DocTestSuite(numbers))
43 suite.addTest(unittest.makeSuite(FormatDecimalTestCase))
22 return suite 44 return suite
23 45
24 if __name__ == '__main__': 46 if __name__ == '__main__':
25 unittest.main(defaultTest='suite') 47 unittest.main(defaultTest='suite')
Copyright (C) 2012-2017 Edgewall Software