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

Method test_gcd

Lib/test/test_math_integer.py:115–157  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

113 self.assertRaises(TypeError, factorial, 1e100)
114
115 def test_gcd(self):
116 gcd = self.module.gcd
117 self.assertEqual(gcd(0, 0), 0)
118 self.assertEqual(gcd(1, 0), 1)
119 self.assertEqual(gcd(-1, 0), 1)
120 self.assertEqual(gcd(0, 1), 1)
121 self.assertEqual(gcd(0, -1), 1)
122 self.assertEqual(gcd(7, 1), 1)
123 self.assertEqual(gcd(7, -1), 1)
124 self.assertEqual(gcd(-23, 15), 1)
125 self.assertEqual(gcd(120, 84), 12)
126 self.assertEqual(gcd(84, -120), 12)
127 self.assertEqual(gcd(1216342683557601535506311712,
128 436522681849110124616458784), 32)
129 c = 652560
130 x = 434610456570399902378880679233098819019853229470286994367836600566
131 y = 1064502245825115327754847244914921553977
132 a = x * c
133 b = y * c
134 self.assertEqual(gcd(a, b), c)
135 self.assertEqual(gcd(b, a), c)
136 self.assertEqual(gcd(-a, b), c)
137 self.assertEqual(gcd(b, -a), c)
138 self.assertEqual(gcd(a, -b), c)
139 self.assertEqual(gcd(-b, a), c)
140 self.assertEqual(gcd(-a, -b), c)
141 self.assertEqual(gcd(-b, -a), c)
142 c = 576559230871654959816130551884856912003141446781646602790216406874
143 a = x * c
144 b = y * c
145 self.assertEqual(gcd(a, b), c)
146 self.assertEqual(gcd(b, a), c)
147 self.assertEqual(gcd(-a, b), c)
148 self.assertEqual(gcd(b, -a), c)
149 self.assertEqual(gcd(a, -b), c)
150 self.assertEqual(gcd(-b, a), c)
151 self.assertEqual(gcd(-a, -b), c)
152 self.assertEqual(gcd(-b, -a), c)
153
154 self.assertRaises(TypeError, gcd, 120.0, 84)
155 self.assertRaises(TypeError, gcd, 120, 84.0)
156 self.assertIntEqual(gcd(IntSubclass(120), IntSubclass(84)), 12)
157 self.assertIntEqual(gcd(MyIndexable(120), MyIndexable(84)), 12)
158
159 def test_lcm(self):
160 lcm = self.module.lcm

Callers

nothing calls this directly

Calls 6

assertIntEqualMethod · 0.95
gcdFunction · 0.85
IntSubclassClass · 0.70
MyIndexableClass · 0.70
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected