Пример #1
0
 def test_validate_denominator_is_not_zero(self):
     #self.assertRaises(ValidationError,simplify_fraction,(1,2))
     with self.assertRaises(CustomError) as exc:
         simplify_fraction((1, 0))
     #print(str(exc.exception))
     self.assertTrue(
         'you should use another denominator' in str(exc.exception))
Пример #2
0
def collect_fractions(fracts):
    if not isinstance(fracts, list):
        raise fractions.ValidationError('You should provide list of fractions')
    else:
        nominators = []
        denominators = []
        for fract in fracts:
            simpl = fractions.simplify_fraction(fract)
            nominators.append(simpl[0])
            denominators.append(simpl[1])

        lcm_of_denominators = reduce(lambda x, y: lcm(x, y), denominators)
        for i in range(len(denominators)):
            nominators[i] *= lcm_of_denominators / denominators[i]

        denominators = [lcm_of_denominators] * (len(nominators))
        sum_of_fractions = (sum(nominators), lcm_of_denominators)

    return (fractions.simplify_fraction(sum_of_fractions))
Пример #3
0
def sort_fractions(fracts):
    simplified = [fractions.simplify_fraction(x) for x in fracts]
    answer = {}
    for i in range(0, len(fracts)):
        curr_fract = simplified[i]
        key = curr_fract[0]/curr_fract[1]
        print(key)
        answer[key] = fracts[i]
    for key in sorted(answer.keys()):
        print(answer[key])
        pass
 def test_simplify_fraction_correct_input(self):
     with self.assertRaises(TypeError):
         simplify_fraction(('a', 1))
     with self.assertRaises(TypeError):
         simplify_fraction((1, 'a'))
     with self.assertRaises(TypeError):
         simplify_fraction(('a', 'a'))
Пример #5
0
 def test_validate_fraction_object_is_a_tuple(self):
     #self.assertRaises(ValidationError,simplify_fraction,(1,2))
     with self.assertRaises(Exception) as exc:
         simplify_fraction([1, 2])
     #print(str(exc.exception))
     self.assertTrue('not a tuple' in str(exc.exception))
Пример #6
0
 def test_when_denominator_is_one_then_return__nominator_one(self):
     tpl = (5, 1)
     expected_result = (5, 1)
     self.assertEqual(simplify_fraction(tpl), expected_result)
Пример #7
0
 def test_simplify_tractions_if_nominator_and_denominator_do_not_have_gcd(
         self):
     input_fraction = (1, 7)
     expected_result = (1, 7)
     self.assertEqual(frac.simplify_fraction(input_fraction),
                      expected_result)
Пример #8
0
 def test_when_prime_numbers_are_simplified_then_return_same(self):
     test_data = (3, 17)
     expected_Result = (3, 17)
     self.assertEqual(fractions.simplify_fraction(test_data),
                      expected_Result)
Пример #9
0
 def test_if_validate_fraction_object_is_not_a_tuple(self):
     with self.assertRaises(fractions.ValidationError) as exc:
         fractions.simplify_fraction([5, 5])
Пример #10
0
 def test_basic_case_when_simplify_fraction_then_divide_both_by_biggest_common_divisor(
         self):
     test_data = (21, 7)
     expected_result = (3, 1)
     self.assertEqual(fractions.simplify_fraction(test_data),
                      expected_result)
Пример #11
0
def test_simplify_fraction():
    assert simplify_fraction(2, 4) == (1, 2)
    assert simplify_fraction(124, 4) == (31, 1)
    assert simplify_fraction(1, 2) == (1, 2)
 def test_simplify_fraction_zero_division(self):
     with self.assertRaises(ZeroDivisionError):
         simplify_fraction((1, 0))
 def test_simplify_fraction_works(self):
     self.assertEqual(simplify_fraction((3, 9)), (1, 3))
     self.assertEqual(simplify_fraction((1, 7)), (1, 7))
     self.assertEqual(simplify_fraction((4, 10)), (2, 5))
     self.assertEqual(simplify_fraction((63, 462)), (3, 22))
Пример #14
0
 def test_when_passed_arg_is_not_tuple(self):
     expr = 1
     with self.assertRaises(Exception) as exc:
         simplify_fraction(expr)
Пример #15
0
 def test_when_fraction_is_simplified_by_number_then_return_new_fractions(
         self):
     fraction = (17, 34)
     expeted_result = (1, 2)
     self.assertEqual(simplify_fraction(fraction), expeted_result)
Пример #16
0
 def test_when_division_by_zero_then_raise_exception(self):
     expr = (1, 0)
     with self.assertRaises(Exception) as exc:
         simplify_fraction(expr)
Пример #17
0
 def test_when_nominator_and_denominator_are_equal_then_return_one_one(
         self):
     tpl = (5, 5)
     expected_result = (1, 1)
     self.assertEqual(simplify_fraction(tpl), expected_result)
Пример #18
0
 def test_when_divider_is_zero(self):
     test_data = (6, 0)
     with self.assertRaises(ZeroDivisionError) as exc:
         fractions.simplify_fraction(test_data)