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

Method testArithmetic

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

Source from the content-addressed store, hash-verified

759 self.assertTypedEquals(F(-2, 10), round(F(-25, 100), 1))
760
761 def testArithmetic(self):
762 self.assertEqual(F(1, 2), F(1, 10) + F(2, 5))
763 self.assertEqual(F(-3, 10), F(1, 10) - F(2, 5))
764 self.assertEqual(F(1, 25), F(1, 10) * F(2, 5))
765 self.assertEqual(F(5, 6), F(2, 3) * F(5, 4))
766 self.assertEqual(F(1, 4), F(1, 10) / F(2, 5))
767 self.assertEqual(F(-15, 8), F(3, 4) / F(-2, 5))
768 self.assertRaises(ZeroDivisionError, operator.truediv, F(1), F(0))
769 self.assertTypedEquals(2, F(9, 10) // F(2, 5))
770 self.assertTypedEquals(10**23, F(10**23, 1) // F(1))
771 self.assertEqual(F(5, 6), F(7, 3) % F(3, 2))
772 self.assertEqual(F(2, 3), F(-7, 3) % F(3, 2))
773 self.assertEqual((F(1), F(5, 6)), divmod(F(7, 3), F(3, 2)))
774 self.assertEqual((F(-2), F(2, 3)), divmod(F(-7, 3), F(3, 2)))
775 self.assertEqual(F(8, 27), F(2, 3) ** F(3))
776 self.assertEqual(F(27, 8), F(2, 3) ** F(-3))
777 self.assertTypedEquals(2.0, F(4) ** F(1, 2))
778 self.assertEqual(F(1, 1), +F(1, 1))
779 z = pow(F(-1), F(1, 2))
780 self.assertAlmostEqual(z.real, 0)
781 self.assertEqual(z.imag, 1)
782 # Regression test for #27539.
783 p = F(-1, 2) ** 0
784 self.assertEqual(p, F(1, 1))
785 self.assertEqual(p.numerator, 1)
786 self.assertEqual(p.denominator, 1)
787 p = F(-1, 2) ** -1
788 self.assertEqual(p, F(-2, 1))
789 self.assertEqual(p.numerator, -2)
790 self.assertEqual(p.denominator, 1)
791 p = F(-1, 2) ** -2
792 self.assertEqual(p, F(4, 1))
793 self.assertEqual(p.numerator, 4)
794 self.assertEqual(p.denominator, 1)
795
796 def testLargeArithmetic(self):
797 self.assertTypedEquals(

Callers

nothing calls this directly

Calls 6

assertTypedEqualsMethod · 0.95
powFunction · 0.85
FClass · 0.70
assertEqualMethod · 0.45
assertRaisesMethod · 0.45
assertAlmostEqualMethod · 0.45

Tested by

no test coverage detected