def test_get_greatest_common_divisor(self): self.assertEqual( Prime.get_greatest_common_divisor(3 * 5 * 7 * 7 * 11, 5 * 7 * 11 * 11 * 13), 5 * 7 * 11) self.assertEqual(Prime.get_greatest_common_divisor(1, 2), 1) self.assertEqual(Prime.get_greatest_common_divisor(-1, 2), 1) self.assertEqual(Prime.get_greatest_common_divisor(-1, -2), 1) self.assertEqual(Prime.get_greatest_common_divisor(2, -1), 1) self.assertEqual(Prime.get_greatest_common_divisor(-2, 1), 1) self.assertEqual(Prime.get_greatest_common_divisor(-2, -1), 1)
def reduce(self): q = Prime.get_greatest_common_divisor(self.numerator, self.denominator) self.numerator = self.numerator / q self.denominator = self.denominator / q