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

Method test_lcm

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

Source from the content-addressed store, hash-verified

157 self.assertIntEqual(gcd(MyIndexable(120), MyIndexable(84)), 12)
158
159 def test_lcm(self):
160 lcm = self.module.lcm
161 self.assertEqual(lcm(0, 0), 0)
162 self.assertEqual(lcm(1, 0), 0)
163 self.assertEqual(lcm(-1, 0), 0)
164 self.assertEqual(lcm(0, 1), 0)
165 self.assertEqual(lcm(0, -1), 0)
166 self.assertEqual(lcm(7, 1), 7)
167 self.assertEqual(lcm(7, -1), 7)
168 self.assertEqual(lcm(-23, 15), 345)
169 self.assertEqual(lcm(120, 84), 840)
170 self.assertEqual(lcm(84, -120), 840)
171 self.assertEqual(lcm(1216342683557601535506311712,
172 436522681849110124616458784),
173 16592536571065866494401400422922201534178938447014944)
174
175 x = 43461045657039990237
176 y = 10645022458251153277
177 for c in (652560,
178 57655923087165495981):
179 a = x * c
180 b = y * c
181 d = x * y * c
182 self.assertEqual(lcm(a, b), d)
183 self.assertEqual(lcm(b, a), d)
184 self.assertEqual(lcm(-a, b), d)
185 self.assertEqual(lcm(b, -a), d)
186 self.assertEqual(lcm(a, -b), d)
187 self.assertEqual(lcm(-b, a), d)
188 self.assertEqual(lcm(-a, -b), d)
189 self.assertEqual(lcm(-b, -a), d)
190
191 self.assertEqual(lcm(), 1)
192 self.assertEqual(lcm(120), 120)
193 self.assertEqual(lcm(-120), 120)
194 self.assertEqual(lcm(120, 84, 102), 14280)
195 self.assertEqual(lcm(120, 0, 84), 0)
196
197 self.assertRaises(TypeError, lcm, 120.0)
198 self.assertRaises(TypeError, lcm, 120.0, 84)
199 self.assertRaises(TypeError, lcm, 120, 84.0)
200 self.assertRaises(TypeError, lcm, 120, 0, 84.0)
201 self.assertEqual(lcm(MyIndexable(120), MyIndexable(84)), 840)
202
203 def test_isqrt(self):
204 isqrt = self.module.isqrt

Callers

nothing calls this directly

Calls 3

MyIndexableClass · 0.70
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected