diff options
| author | Stefan Krah <skrah@bytereef.org> | 2012-09-10 17:34:58 (GMT) | 
|---|---|---|
| committer | Stefan Krah <skrah@bytereef.org> | 2012-09-10 17:34:58 (GMT) | 
| commit | 76e12179c5381dd1f4f27c6d679a16a629ebeef7 (patch) | |
| tree | 9e1236b2de40ca90bbd3ddb61a7f365bddc87f44 /Lib/test/test_decimal.py | |
| parent | f47d79fec1b6cbb0d38b9a828cf94202c21e50f8 (diff) | |
| download | cpython-76e12179c5381dd1f4f27c6d679a16a629ebeef7.zip cpython-76e12179c5381dd1f4f27c6d679a16a629ebeef7.tar.gz cpython-76e12179c5381dd1f4f27c6d679a16a629ebeef7.tar.bz2  | |
Issue #15882: Change _decimal to accept any coefficient tuple when
constructing infinities. This is done for backwards compatibility
with decimal.py: Infinity coefficients are undefined in _decimal
(in accordance with the specification).
Diffstat (limited to 'Lib/test/test_decimal.py')
| -rw-r--r-- | Lib/test/test_decimal.py | 17 | 
1 files changed, 10 insertions, 7 deletions
diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py index d00ed5a..3ca5927 100644 --- a/Lib/test/test_decimal.py +++ b/Lib/test/test_decimal.py @@ -1992,7 +1992,8 @@ class UsabilityTest(unittest.TestCase):          d = Decimal("-4.34913534E-17")          self.assertEqual(d.as_tuple(), (1, (4, 3, 4, 9, 1, 3, 5, 3, 4), -25) ) -        # XXX non-compliant infinity payload. +        # The '0' coefficient is implementation specific to decimal.py. +        # It has no meaning in the C-version and is ignored there.          d = Decimal("Infinity")          self.assertEqual(d.as_tuple(), (0, (0,), 'F') ) @@ -2012,12 +2013,14 @@ class UsabilityTest(unittest.TestCase):          d = Decimal( (1, (), 'n') )          self.assertEqual(d.as_tuple(), (1, (), 'n') ) -        # XXX coefficient in infinity should raise an error -        if self.decimal == P: -            d = Decimal( (0, (4, 5, 3, 4), 'F') ) -            self.assertEqual(d.as_tuple(), (0, (0,), 'F')) -            d = Decimal( (1, (0, 2, 7, 1), 'F') ) -            self.assertEqual(d.as_tuple(), (1, (0,), 'F')) +        # For infinities, decimal.py has always silently accepted any +        # coefficient tuple. +        d = Decimal( (0, (0,), 'F') ) +        self.assertEqual(d.as_tuple(), (0, (0,), 'F')) +        d = Decimal( (0, (4, 5, 3, 4), 'F') ) +        self.assertEqual(d.as_tuple(), (0, (0,), 'F')) +        d = Decimal( (1, (0, 2, 7, 1), 'F') ) +        self.assertEqual(d.as_tuple(), (1, (0,), 'F'))      def test_subclassing(self):          # Different behaviours when subclassing Decimal  | 
