(self)
| 2175 | self.assertEqual(d, eval(repr(d))) |
| 2176 | |
| 2177 | def test_as_tuple(self): |
| 2178 | Decimal = self.decimal.Decimal |
| 2179 | |
| 2180 | #with zero |
| 2181 | d = Decimal(0) |
| 2182 | self.assertEqual(d.as_tuple(), (0, (0,), 0) ) |
| 2183 | |
| 2184 | #int |
| 2185 | d = Decimal(-45) |
| 2186 | self.assertEqual(d.as_tuple(), (1, (4, 5), 0) ) |
| 2187 | |
| 2188 | #complicated string |
| 2189 | d = Decimal("-4.34913534E-17") |
| 2190 | self.assertEqual(d.as_tuple(), (1, (4, 3, 4, 9, 1, 3, 5, 3, 4), -25) ) |
| 2191 | |
| 2192 | # The '0' coefficient is implementation specific to decimal.py. |
| 2193 | # It has no meaning in the C-version and is ignored there. |
| 2194 | d = Decimal("Infinity") |
| 2195 | self.assertEqual(d.as_tuple(), (0, (0,), 'F') ) |
| 2196 | |
| 2197 | #leading zeros in coefficient should be stripped |
| 2198 | d = Decimal( (0, (0, 0, 4, 0, 5, 3, 4), -2) ) |
| 2199 | self.assertEqual(d.as_tuple(), (0, (4, 0, 5, 3, 4), -2) ) |
| 2200 | d = Decimal( (1, (0, 0, 0), 37) ) |
| 2201 | self.assertEqual(d.as_tuple(), (1, (0,), 37)) |
| 2202 | d = Decimal( (1, (), 37) ) |
| 2203 | self.assertEqual(d.as_tuple(), (1, (0,), 37)) |
| 2204 | |
| 2205 | #leading zeros in NaN diagnostic info should be stripped |
| 2206 | d = Decimal( (0, (0, 0, 4, 0, 5, 3, 4), 'n') ) |
| 2207 | self.assertEqual(d.as_tuple(), (0, (4, 0, 5, 3, 4), 'n') ) |
| 2208 | d = Decimal( (1, (0, 0, 0), 'N') ) |
| 2209 | self.assertEqual(d.as_tuple(), (1, (), 'N') ) |
| 2210 | d = Decimal( (1, (), 'n') ) |
| 2211 | self.assertEqual(d.as_tuple(), (1, (), 'n') ) |
| 2212 | |
| 2213 | # For infinities, decimal.py has always silently accepted any |
| 2214 | # coefficient tuple. |
| 2215 | d = Decimal( (0, (0,), 'F') ) |
| 2216 | self.assertEqual(d.as_tuple(), (0, (0,), 'F')) |
| 2217 | d = Decimal( (0, (4, 5, 3, 4), 'F') ) |
| 2218 | self.assertEqual(d.as_tuple(), (0, (0,), 'F')) |
| 2219 | d = Decimal( (1, (0, 2, 7, 1), 'F') ) |
| 2220 | self.assertEqual(d.as_tuple(), (1, (0,), 'F')) |
| 2221 | |
| 2222 | def test_as_integer_ratio(self): |
| 2223 | Decimal = self.decimal.Decimal |
nothing calls this directly
no test coverage detected