MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_lcm

Method test_lcm

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

Source from the content-addressed store, hash-verified

1138 self.assertEqual(w.bit_count(), 1)
1139
1140 def test_lcm(self):
1141 lcm = math.lcm
1142 self.assertEqual(lcm(0, 0), 0)
1143 self.assertEqual(lcm(1, 0), 0)
1144 self.assertEqual(lcm(-1, 0), 0)
1145 self.assertEqual(lcm(0, 1), 0)
1146 self.assertEqual(lcm(0, -1), 0)
1147 self.assertEqual(lcm(7, 1), 7)
1148 self.assertEqual(lcm(7, -1), 7)
1149 self.assertEqual(lcm(-23, 15), 345)
1150 self.assertEqual(lcm(120, 84), 840)
1151 self.assertEqual(lcm(84, -120), 840)
1152 self.assertEqual(lcm(1216342683557601535506311712,
1153 436522681849110124616458784),
1154 16592536571065866494401400422922201534178938447014944)
1155
1156 x = 43461045657039990237
1157 y = 10645022458251153277
1158 for c in (652560,
1159 57655923087165495981):
1160 a = x * c
1161 b = y * c
1162 d = x * y * c
1163 self.assertEqual(lcm(a, b), d)
1164 self.assertEqual(lcm(b, a), d)
1165 self.assertEqual(lcm(-a, b), d)
1166 self.assertEqual(lcm(b, -a), d)
1167 self.assertEqual(lcm(a, -b), d)
1168 self.assertEqual(lcm(-b, a), d)
1169 self.assertEqual(lcm(-a, -b), d)
1170 self.assertEqual(lcm(-b, -a), d)
1171
1172 self.assertEqual(lcm(), 1)
1173 self.assertEqual(lcm(120), 120)
1174 self.assertEqual(lcm(-120), 120)
1175 self.assertEqual(lcm(120, 84, 102), 14280)
1176 self.assertEqual(lcm(120, 0, 84), 0)
1177
1178 self.assertRaises(TypeError, lcm, 120.0)
1179 self.assertRaises(TypeError, lcm, 120.0, 84)
1180 self.assertRaises(TypeError, lcm, 120, 84.0)
1181 self.assertRaises(TypeError, lcm, 120, 0, 84.0)
1182 self.assertEqual(lcm(MyIndexable(120), MyIndexable(84)), 840)
1183
1184 def testLdexp(self):
1185 self.assertRaises(TypeError, math.ldexp)

Callers

nothing calls this directly

Calls 4

lcmFunction · 0.85
MyIndexableClass · 0.70
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected