Mercurial > babel > mirror
comparison babel/tests/numbers.py @ 556:aa53048ad7ac trunk
remove Python 2.3 compat code for Decimal
author | fschwarz |
---|---|
date | Tue, 30 Aug 2011 20:27:34 +0000 |
parents | ca203b2af83c |
children | 4e561e6411ba |
comparison
equal
deleted
inserted
replaced
554:8f3df970f492 | 556:aa53048ad7ac |
---|---|
9 # | 9 # |
10 # This software consists of voluntary contributions made by many | 10 # This software consists of voluntary contributions made by many |
11 # individuals. For the exact contribution history, see the revision | 11 # individuals. For the exact contribution history, see the revision |
12 # history and logs, available at http://babel.edgewall.org/log/. | 12 # history and logs, available at http://babel.edgewall.org/log/. |
13 | 13 |
14 try: | 14 from decimal import Decimal |
15 from decimal import Decimal | |
16 have_decimal = True | |
17 except ImportError: | |
18 have_decimal = False | |
19 | 15 |
20 import doctest | 16 import doctest |
21 import unittest | 17 import unittest |
22 | 18 |
23 from babel import numbers | 19 from babel import numbers |
87 self.assertEqual(numbers.format_decimal(0.1, '@#',locale='en_US'), | 83 self.assertEqual(numbers.format_decimal(0.1, '@#',locale='en_US'), |
88 '0.1') | 84 '0.1') |
89 self.assertEqual(numbers.format_decimal(0.1, '@@', locale='en_US'), | 85 self.assertEqual(numbers.format_decimal(0.1, '@@', locale='en_US'), |
90 '0.10') | 86 '0.10') |
91 | 87 |
92 if have_decimal: | 88 def test_decimals(self): |
93 def test_decimals(self): | 89 """Test significant digits patterns""" |
94 """Test significant digits patterns""" | 90 self.assertEqual(numbers.format_decimal(Decimal('1.2345'), |
95 self.assertEqual(numbers.format_decimal(Decimal('1.2345'), | 91 '#.00', locale='en_US'), |
96 '#.00', locale='en_US'), | 92 '1.23') |
97 '1.23') | 93 self.assertEqual(numbers.format_decimal(Decimal('1.2345000'), |
98 self.assertEqual(numbers.format_decimal(Decimal('1.2345000'), | 94 '#.00', locale='en_US'), |
99 '#.00', locale='en_US'), | 95 '1.23') |
100 '1.23') | 96 self.assertEqual(numbers.format_decimal(Decimal('1.2345000'), |
101 self.assertEqual(numbers.format_decimal(Decimal('1.2345000'), | 97 '@@', locale='en_US'), |
102 '@@', locale='en_US'), | 98 '1.2') |
103 '1.2') | 99 self.assertEqual(numbers.format_decimal(Decimal('12345678901234567890.12345'), |
104 self.assertEqual(numbers.format_decimal(Decimal('12345678901234567890.12345'), | 100 '#.00', locale='en_US'), |
105 '#.00', locale='en_US'), | 101 '12345678901234567890.12') |
106 '12345678901234567890.12') | |
107 | 102 |
108 def test_scientific_notation(self): | 103 def test_scientific_notation(self): |
109 fmt = numbers.format_scientific(0.1, '#E0', locale='en_US') | 104 fmt = numbers.format_scientific(0.1, '#E0', locale='en_US') |
110 self.assertEqual(fmt, '1E-1') | 105 self.assertEqual(fmt, '1E-1') |
111 fmt = numbers.format_scientific(0.01, '#E0', locale='en_US') | 106 fmt = numbers.format_scientific(0.01, '#E0', locale='en_US') |
132 # Exponent patterns | 127 # Exponent patterns |
133 fmt = numbers.format_scientific(123.45, '#.##E00 m/s', locale='en_US') | 128 fmt = numbers.format_scientific(123.45, '#.##E00 m/s', locale='en_US') |
134 self.assertEqual(fmt, '1.23E02 m/s') | 129 self.assertEqual(fmt, '1.23E02 m/s') |
135 fmt = numbers.format_scientific(0.012345, '#.##E00 m/s', locale='en_US') | 130 fmt = numbers.format_scientific(0.012345, '#.##E00 m/s', locale='en_US') |
136 self.assertEqual(fmt, '1.23E-02 m/s') | 131 self.assertEqual(fmt, '1.23E-02 m/s') |
137 if have_decimal: | 132 fmt = numbers.format_scientific(Decimal('12345'), '#.##E+00 m/s', |
138 fmt = numbers.format_scientific(Decimal('12345'), '#.##E+00 m/s', | 133 locale='en_US') |
139 locale='en_US') | 134 self.assertEqual(fmt, '1.23E+04 m/s') |
140 self.assertEqual(fmt, '1.23E+04 m/s') | |
141 # 0 (see ticket #99) | 135 # 0 (see ticket #99) |
142 fmt = numbers.format_scientific(0, '#E0', locale='en_US') | 136 fmt = numbers.format_scientific(0, '#E0', locale='en_US') |
143 self.assertEqual(fmt, '0E0') | 137 self.assertEqual(fmt, '0E0') |
144 | 138 |
145 | 139 |