MCPcopy Index your code
hub / github.com/python/cpython / test_as_tuple

Method test_as_tuple

Lib/test/test_decimal.py:2177–2220  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 3

as_tupleMethod · 0.95
DecimalClass · 0.85
assertEqualMethod · 0.45

Tested by

no test coverage detected