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

Method testFromDecimal

Lib/test/test_fractions.py:565–587  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

563 F.from_float, nan)
564
565 def testFromDecimal(self):
566 self.assertRaises(TypeError, F.from_decimal, 3+4j)
567 self.assertEqual(F(10, 1), F.from_decimal(10))
568 self.assertEqual(F(0), F.from_decimal(Decimal("-0")))
569 self.assertEqual(F(5, 10), F.from_decimal(Decimal("0.5")))
570 self.assertEqual(F(5, 1000), F.from_decimal(Decimal("5e-3")))
571 self.assertEqual(F(5000), F.from_decimal(Decimal("5e3")))
572 self.assertEqual(1 - F(1, 10**30),
573 F.from_decimal(Decimal("0." + "9" * 30)))
574
575 # bug 16469: error types should be consistent with decimal -> int
576 self.assertRaisesMessage(
577 OverflowError, "cannot convert Infinity to integer ratio",
578 F.from_decimal, Decimal("inf"))
579 self.assertRaisesMessage(
580 OverflowError, "cannot convert Infinity to integer ratio",
581 F.from_decimal, Decimal("-inf"))
582 self.assertRaisesMessage(
583 ValueError, "cannot convert NaN to integer ratio",
584 F.from_decimal, Decimal("nan"))
585 self.assertRaisesMessage(
586 ValueError, "cannot convert NaN to integer ratio",
587 F.from_decimal, Decimal("snan"))
588
589 def testFromNumber(self, cls=F):
590 def check(arg, numerator, denominator):

Callers

nothing calls this directly

Calls 6

assertRaisesMessageMethod · 0.95
DecimalClass · 0.90
from_decimalMethod · 0.80
FClass · 0.70
assertRaisesMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected