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

Method test_from_tuple

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

Source from the content-addressed store, hash-verified

5645 self.assertRaises(InvalidOperation, Decimal, x)
5646
5647 def test_from_tuple(self):
5648 Decimal = C.Decimal
5649 localcontext = C.localcontext
5650 InvalidOperation = C.InvalidOperation
5651 Overflow = C.Overflow
5652 Underflow = C.Underflow
5653
5654 with localcontext() as c:
5655
5656 c.prec = 9
5657 c.traps[InvalidOperation] = True
5658 c.traps[Overflow] = True
5659 c.traps[Underflow] = True
5660
5661 # SSIZE_MAX
5662 x = (1, (), sys.maxsize)
5663 self.assertEqual(str(c.create_decimal(x)), '-0E+999999')
5664 self.assertRaises(InvalidOperation, Decimal, x)
5665
5666 x = (1, (0, 1, 2), sys.maxsize)
5667 self.assertRaises(Overflow, c.create_decimal, x)
5668 self.assertRaises(InvalidOperation, Decimal, x)
5669
5670 # SSIZE_MIN
5671 x = (1, (), -sys.maxsize-1)
5672 self.assertEqual(str(c.create_decimal(x)), '-0E-1000007')
5673 self.assertRaises(InvalidOperation, Decimal, x)
5674
5675 x = (1, (0, 1, 2), -sys.maxsize-1)
5676 self.assertRaises(Underflow, c.create_decimal, x)
5677 self.assertRaises(InvalidOperation, Decimal, x)
5678
5679 # OverflowError
5680 x = (1, (), sys.maxsize+1)
5681 self.assertRaises(OverflowError, c.create_decimal, x)
5682 self.assertRaises(OverflowError, Decimal, x)
5683
5684 x = (1, (), -sys.maxsize-2)
5685 self.assertRaises(OverflowError, c.create_decimal, x)
5686 self.assertRaises(OverflowError, Decimal, x)
5687
5688 # Specials
5689 x = (1, (), "N")
5690 self.assertEqual(str(Decimal(x)), '-sNaN')
5691 x = (1, (0,), "N")
5692 self.assertEqual(str(Decimal(x)), '-sNaN')
5693 x = (1, (0, 1), "N")
5694 self.assertEqual(str(Decimal(x)), '-sNaN1')
5695
5696 def test_sizeof(self):
5697 Decimal = C.Decimal

Callers

nothing calls this directly

Calls 6

localcontextFunction · 0.85
strFunction · 0.85
DecimalClass · 0.85
create_decimalMethod · 0.80
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected