def test_mut_sum_equal_sum_mut(self): frac1 = Fraction(2, 3) frac2 = Fraction(7, 5) frac3 = Fraction(5, 2) res = (frac1 + frac2) * frac3 res1 = frac1 * frac3 + frac2 * frac3 self.assertTrue(res.p == res1.p and res.q == res1.q)
def test_can_convert_to_continuous_1071_462(self): frac = Fraction(1071, 462) expected_coefficients = [2, 3, 7] for actual, expected in zip(frac.to_continuous(), expected_coefficients): self.assertEqual(actual, expected)
def test_can_fraction_create(self): frac = Fraction(-1, 2) self.assertTrue(frac.is_equal(-1, 2))
def test_can_create_str_from_fraction(self): frac = Fraction(p=1, q=2) self.assertEqual(str(frac), '1/2')
def test_can_create_1_5_fraction(self): frac = Fraction(1, 5) self.assertTrue(frac.is_equal(1, 5))
def test_mul_frations(self): frac_1 = Fraction(1, 2) frac_2 = Fraction(3, 4) res = frac_2 * frac_1 self.assertTrue(res.is_equal(3, 8))
def test_minus(self): frac = Fraction(2, 5) frac_two = Fraction(1, 5) result = frac - frac_two self.assertTrue(result.is_equal(1, 5))
def test_div_fraction_by_zero(self): f1 = Fraction(-2, 4) f2 = Fraction(0, 3) with self.assertRaises(InvalidFractionError): f1 / f2
def test_sum_frations(self): frac_1 = Fraction(1, 2) frac_2 = Fraction(3, 4) res = frac_1 + frac_2 self.assertTrue(res.is_equal(5, 4))
def test_add_zero_fraction(self): frac_1 = Fraction(0, 1) frac_2 = Fraction(1, 2) result = frac_1 + frac_2 self.assertTrue(result.is_equal(1, 2))
def test_reducing_fraction(self): fraction = Fraction(3, 6) self.assertTrue(fraction.is_equal(1, 2))
def test_multyply_reverse_fraction(self): frac_1 = Fraction(1, 2) frac_2 = Fraction(2, 1) result = frac_1 * frac_2 self.assertTrue(result.is_equal(1, 1))
def test_multiply_zero_fraction(self): frac_1 = Fraction(0, 1) frac_2 = Fraction(1, 2) result = frac_1 * frac_2 self.assertTrue(result.is_equal(0, 1))
def test_fraction_mul(self): f1 = Fraction(1, 3) f2 = Fraction(3, 2) m = f1 * f2 self.assertTrue(m.is_equal(1, 2))
def test_fraction_reduce(self): f = Fraction(2, 10) self.assertTrue(f.is_equal(1, 5))
def test_sum_fraction(self): frac_1 = Fraction(-1, 2) frac_2 = Fraction(1, 2) result = frac_1 + frac_2 self.assertTrue(result.is_equal(0, 1))
def test_truediv_of_reverse_fractions(self): frac_1 = Fraction(1, 3) frac_2 = Fraction(2, 6) result = frac_1 / frac_2 self.assertTrue(result.is_equal(1, 1))
def test_multiply_negative_fraction(self): frac_1 = Fraction(-1, 3) frac_2 = Fraction(1, 2) result = frac_1 * frac_2 self.assertTrue(result.is_equal(-1, 6))
def test_sum_fractions(self): first_fraction = Fraction(3, 5) second_fraction = Fraction(1, 3) result = first_fraction + second_fraction self.assertTrue(result.is_equal(14, 15))
def test_div_sum_equal_sum_div(self): frac1 = Fraction(10, 2) frac2 = Fraction(-5, 2) frac3 = Fraction(7, 2) frac = frac1 + frac2 + frac3 self.assertTrue(frac.is_equal(6, 1))
def test_mul_fraction(self): f1 = Fraction(-2, 4) f2 = Fraction(-1, 3) result = f1 * f2 self.assertTrue(result.is_equal(1, 6))
def test_multiply_two_positive_fractions(self): frac_1 = Fraction(5, 6) frac_2 = Fraction(5, 7) result = frac_1 * frac_2 self.assertTrue(result.is_equal(25, 42))
def test_sum_fraction(self): f1 = Fraction(2, 4) f2 = Fraction(1, 3) result = f1 + f2 self.assertTrue(result.is_equal(5, 6))
def test_can_create_5_6_fraction(self): frac = Fraction(5, 6) self.assertTrue(frac.is_equal(5, 6))
def test_sub_frations(self): frac_1 = Fraction(1, 2) frac_2 = Fraction(3, 4) res = frac_2 - frac_1 self.assertTrue(res.is_equal(1, 4))
def test_sum_fraction_1_2_1_2(self): frac_1 = Fraction(1, 2) frac_2 = Fraction(3, 4) result = frac_1 + frac_2 self.assertTrue(result.is_equal(5, 4))
def test_can_create_fraction(self): fraction = Fraction() self.assertTrue(isinstance(fraction, Fraction))
def test_multiply_fraction(self): frac_1 = Fraction(1, 2) frac_2 = Fraction(3, 4) result = frac_1 * frac_2 self.assertTrue(result.is_equal(3, 8))
def test_init_with_zero_raise(self): with self.assertRaises(InvalidFractionError): Fraction(1, 0)
def test_default_fraction_is_0_1(self): frac = Fraction() self.assertTrue(frac.is_equal(0, 1))