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

Method testGcd

Lib/test/test_math.py:799–839  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

797 self.assertRaises(ZeroDivisionError, math.fsum, bad_iter())
798
799 def testGcd(self):
800 gcd = math.gcd
801 self.assertEqual(gcd(0, 0), 0)
802 self.assertEqual(gcd(1, 0), 1)
803 self.assertEqual(gcd(-1, 0), 1)
804 self.assertEqual(gcd(0, 1), 1)
805 self.assertEqual(gcd(0, -1), 1)
806 self.assertEqual(gcd(7, 1), 1)
807 self.assertEqual(gcd(7, -1), 1)
808 self.assertEqual(gcd(-23, 15), 1)
809 self.assertEqual(gcd(120, 84), 12)
810 self.assertEqual(gcd(84, -120), 12)
811 self.assertEqual(gcd(1216342683557601535506311712,
812 436522681849110124616458784), 32)
813
814 x = 434610456570399902378880679233098819019853229470286994367836600566
815 y = 1064502245825115327754847244914921553977
816 for c in (652560,
817 576559230871654959816130551884856912003141446781646602790216406874):
818 a = x * c
819 b = y * c
820 self.assertEqual(gcd(a, b), c)
821 self.assertEqual(gcd(b, a), c)
822 self.assertEqual(gcd(-a, b), c)
823 self.assertEqual(gcd(b, -a), c)
824 self.assertEqual(gcd(a, -b), c)
825 self.assertEqual(gcd(-b, a), c)
826 self.assertEqual(gcd(-a, -b), c)
827 self.assertEqual(gcd(-b, -a), c)
828
829 self.assertEqual(gcd(), 0)
830 self.assertEqual(gcd(120), 120)
831 self.assertEqual(gcd(-120), 120)
832 self.assertEqual(gcd(120, 84, 102), 6)
833 self.assertEqual(gcd(120, 1, 84), 1)
834
835 self.assertRaises(TypeError, gcd, 120.0)
836 self.assertRaises(TypeError, gcd, 120.0, 84)
837 self.assertRaises(TypeError, gcd, 120, 84.0)
838 self.assertRaises(TypeError, gcd, 120, 1, 84.0)
839 self.assertEqual(gcd(MyIndexable(120), MyIndexable(84)), 12)
840
841 def testHypot(self):
842 from decimal import Decimal

Callers

nothing calls this directly

Calls 4

gcdFunction · 0.85
MyIndexableClass · 0.70
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected