Mercurial > babel > old > mirror
comparison babel/tests/numbers.py @ 245:d462423feeea
Added initial support for scientific notation patterns.
author | jonas |
---|---|
date | Sat, 11 Aug 2007 11:31:05 +0000 |
parents | ce3ad60145db |
children | f21b6e6a13a7 |
comparison
equal
deleted
inserted
replaced
244:cfb4cb07cbc7 | 245:d462423feeea |
---|---|
84 '0') | 84 '0') |
85 self.assertEqual(numbers.format_decimal(0.1, '@',locale='en_US'), | 85 self.assertEqual(numbers.format_decimal(0.1, '@',locale='en_US'), |
86 '0.1') | 86 '0.1') |
87 self.assertEqual(numbers.format_decimal(0.1, '@#',locale='en_US'), | 87 self.assertEqual(numbers.format_decimal(0.1, '@#',locale='en_US'), |
88 '0.1') | 88 '0.1') |
89 self.assertEqual(numbers.format_decimal(0.1, '@@',locale='en_US'), | 89 self.assertEqual(numbers.format_decimal(0.1, '@@', locale='en_US'), |
90 '0.10') | 90 '0.10') |
91 | 91 |
92 if have_decimal: | 92 if have_decimal: |
93 def test_decimals(self): | 93 def test_decimals(self): |
94 """Test significant digits patterns""" | 94 """Test significant digits patterns""" |
103 '1.2') | 103 '1.2') |
104 self.assertEqual(numbers.format_decimal(Decimal('12345678901234567890.12345'), | 104 self.assertEqual(numbers.format_decimal(Decimal('12345678901234567890.12345'), |
105 '#.00', locale='en_US'), | 105 '#.00', locale='en_US'), |
106 '12345678901234567890.12') | 106 '12345678901234567890.12') |
107 | 107 |
108 def test_scientific_notation(self): | |
109 fmt = numbers.format_scientific(0.1, '#E0', locale='en_US') | |
110 self.assertEqual(fmt, '1E-1') | |
111 fmt = numbers.format_scientific(0.01, '#E0', locale='en_US') | |
112 self.assertEqual(fmt, '1E-2') | |
113 fmt = numbers.format_scientific(10, '#E0', locale='en_US') | |
114 self.assertEqual(fmt, '1E1') | |
115 fmt = numbers.format_scientific(1234, '0.###E0', locale='en_US') | |
116 self.assertEqual(fmt, '1.234E3') | |
117 fmt = numbers.format_scientific(1234, '0.#E0', locale='en_US') | |
118 self.assertEqual(fmt, '1.2E3') | |
119 # Exponent grouping | |
120 fmt = numbers.format_scientific(12345, '##0.####E0', locale='en_US') | |
121 self.assertEqual(fmt, '12.345E3') | |
122 # Minimum number of int digits | |
123 fmt = numbers.format_scientific(12345, '00.###E0', locale='en_US') | |
124 self.assertEqual(fmt, '12.345E3') | |
125 fmt = numbers.format_scientific(-12345.6, '00.###E0', locale='en_US') | |
126 self.assertEqual(fmt, '-12.346E3') | |
127 fmt = numbers.format_scientific(-0.01234, '00.###E0', locale='en_US') | |
128 self.assertEqual(fmt, '-12.34E-3') | |
129 # Custom pattern suffic | |
130 fmt = numbers.format_scientific(123.45, '#.##E0 m/s', locale='en_US') | |
131 self.assertEqual(fmt, '1.23E2 m/s') | |
132 # Exponent patterns | |
133 fmt = numbers.format_scientific(123.45, '#.##E00 m/s', locale='en_US') | |
134 self.assertEqual(fmt, '1.23E02 m/s') | |
135 fmt = numbers.format_scientific(0.012345, '#.##E00 m/s', locale='en_US') | |
136 self.assertEqual(fmt, '1.23E-02 m/s') | |
137 fmt = numbers.format_scientific(12345, '#.##E+00 m/s', locale='en_US') | |
138 self.assertEqual(fmt, '1.23E+04 m/s') | |
139 | |
140 | |
108 def suite(): | 141 def suite(): |
109 suite = unittest.TestSuite() | 142 suite = unittest.TestSuite() |
110 suite.addTest(doctest.DocTestSuite(numbers)) | 143 suite.addTest(doctest.DocTestSuite(numbers)) |
111 suite.addTest(unittest.makeSuite(FormatDecimalTestCase)) | 144 suite.addTest(unittest.makeSuite(FormatDecimalTestCase)) |
112 return suite | 145 return suite |