(self)
| 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 |
nothing calls this directly
no test coverage detected