Esempio n. 1
0
def main():
    A = Fraction(2, 3)
    B = Fraction(4, 7)

    print('Дано: ', repr(A), ' и ', repr(B))
    print('Сумма дробей: ', A + B)
    print('Разница: ', A - B)
    print('Умножение: ', A * B)
    print('Деление : ', A / B)
    print('Сумма дроби и целого (5): ', A + 5)
    print('Сумма целого (5) и дроби: ', 5 + A)
Esempio n. 2
0
class FractionsLtMethodTests(unittest.TestCase):
    """Тестируем действия с дробями: дробь1 < дробь 2 """
    def setUp(self):
        self.A = Fraction(1, 3)
        self.B = Fraction(2, 3)

    def test_first_fr_lt_second_fr(self):
        """тест: первая дробь меньше второй"""
        self.assertTrue(self.A.__lt__(self.B))

    def test_first_fr_not_gt_second_fr(self):
        """тест: первая дробь не больше второй"""
        self.assertFalse(self.B.__lt__(self.A))
class FractionsGeMethodTests(unittest.TestCase):
    """Тестируем действия с дробями: дробь1 >= дробь 2 """
    def setUp(self) -> None:
        self.A = Fraction(2, 3)
        self.B = Fraction(1, 3)

    def test_first_fr_ge_second_fr(self):
        """тест: первая дробь больше второй"""
        self.assertTrue(self.A.__ge__(self.B))

    def test_first_fr_equal_second_fr(self):
        """тест: первая дробь равна второй"""
        F = Fraction(2, 3)
        self.assertTrue(self.A.__ge__(F))

    def test_first_fr_not_ge_second_fr(self):
        """тест: вторая дробь не больше превой"""
        self.assertFalse(self.B.__ge__(self.A))
Esempio n. 4
0
class FractionsIaddMethodTests(unittest.TestCase):
    """Тестируем действия с дробями: сложение с присваиванием"""

    def setUp(self):
        self.A = Fraction(1, 3)
        self.B = Fraction(2, 3)

    def test_iadd_fraction(self):
        """тест: составное присваивание - накопление результата"""
        for i in range(1, 5):
            self.A += 1
        self.assertEqual(self.A.__str__(), '4(1/3)')

    def test_iadd_two_fractions(self):
        """тест: накопление одной дроби в другой"""
        for i in range(1, 5):
            self.A += self.B
        self.assertEqual(self.A.__str__(), '3')
Esempio n. 5
0
 def setUp(self):
     self.A = Fraction(2, 3)
     self.B = Fraction(4, 7)
     self.C = Fraction(3, 3)
     self.D = Fraction(4, 2)
     self.E = Fraction(-2, 3)
 def setUp(self):
     """Дроби для тестов"""
     self.A = Fraction(3, 4)
Esempio n. 7
0
 def test_mul_correct_and_incorect_fraction(self):
     """тест: умножаем правильную дробь на неправильную"""
     B = Fraction(2, 1)
     F = self.A * B
     self.assertEqual(F.__str__(), '1(1/3)')
Esempio n. 8
0
 def setUp(self) -> None:
     self.A = Fraction(2, 3)
     self.B = Fraction(1, 3)
 def test_display_fraction_simplified_gcd(self):
     """тест: дробь упрощается с помошью НОД (наименьшее общее кратное)"""
     F = Fraction(8, 16)
     self.assertEqual(F.__str__(), '1/2')
 def test_display_num_div_den_none_remain(self):
     """тест: числитель делится на знаменатель без остатка"""
     F = Fraction(6, 2)
     self.assertEqual(F.__str__(), '3')
 def test_display_num_equal_den(self):
     """тест: числитель равен знаменателю"""
     F = Fraction(3, 3)
     self.assertEqual(F.__str__(), '1')
 def test_print_negative_incorrect_fraction(self):
     """тест: показывает отрицательную не правильную дробь"""
     F = Fraction(-9, 5)
     self.assertEqual(F.__str__(), '-1(4/5)')
 def test_print_negative_correct_fraction(self):
     """тест: печатает отрицательную правильную дробь"""
     F = Fraction(-3, 5)
     self.assertEqual(F.__str__(), '-3/5')
 def test_print_correct_fraction(self):
     """тест: печатает правильную дробь"""
     F = Fraction(7, 3)
     self.assertEqual(F.__str__(), '2(1/3)')
class FractionTests(unittest.TestCase):
    """Тестируем класс Fraction - дробь"""
    def setUp(self):
        """Дроби для тестов"""
        self.A = Fraction(3, 4)

    def test_fraction(self):
        """тест: у дроби есть числитель и знаменатель"""
        self.assertEqual(self.A.num, 3)
        self.assertEqual(self.A.den, 4)

    def test_display_fraction(self):
        """тест: представление дроби при вызове str(), print()"""
        self.assertEqual(self.A.__str__(), '3/4')

    def test_print_correct_fraction(self):
        """тест: печатает правильную дробь"""
        F = Fraction(7, 3)
        self.assertEqual(F.__str__(), '2(1/3)')

    def test_print_negative_correct_fraction(self):
        """тест: печатает отрицательную правильную дробь"""
        F = Fraction(-3, 5)
        self.assertEqual(F.__str__(), '-3/5')

    def test_print_negative_incorrect_fraction(self):
        """тест: показывает отрицательную не правильную дробь"""
        F = Fraction(-9, 5)
        self.assertEqual(F.__str__(), '-1(4/5)')

    def test_display_num_equal_den(self):
        """тест: числитель равен знаменателю"""
        F = Fraction(3, 3)
        self.assertEqual(F.__str__(), '1')

    def test_display_num_div_den_none_remain(self):
        """тест: числитель делится на знаменатель без остатка"""
        F = Fraction(6, 2)
        self.assertEqual(F.__str__(), '3')

    def test_display_fraction_simplified_gcd(self):
        """тест: дробь упрощается с помошью НОД (наименьшее общее кратное)"""
        F = Fraction(8, 16)
        self.assertEqual(F.__str__(), '1/2')

    def test_getNum_method(self):
        """тест: getNum возвращает числитель"""
        self.assertEqual(self.A.getNum(), '3')

    def test_getDen_method(self):
        """тест: getDen возвращает числитель"""
        self.assertEqual(self.A.getDen(), '4')

    def test_display_error_type_in_input_not_integer(self):
        """тест: возбуждаем исключение, если введены не целые числа"""
        with self.assertRaises(TypeError):
            Fraction(2.3, 3)

    def test_display_if_den_negative(self):
        """тест: если по ошибке введи отрицательный знаменатель"""
        F = Fraction(3, -4)
        self.assertEqual(F.__str__(), '3/4')

    def test_display_if_num_and_den_nedative(self):
        """тест: учитываем знак только в числителе"""
        F = Fraction(-3, -4)
        self.assertEqual(F.__str__(), '-3/4')

    def test_display_repr_method(self):
        """тест: отображаем дробь при вызове repr()"""
        self.assertEqual(repr(self.A), 'Дробь: 3/4')
 def test_first_fr_equal_second_fr(self):
     """тест: первая дробь равна второй"""
     F = Fraction(2, 3)
     self.assertTrue(self.A.__ge__(F))
 def test_display_error_type_in_input_not_integer(self):
     """тест: возбуждаем исключение, если введены не целые числа"""
     with self.assertRaises(TypeError):
         Fraction(2.3, 3)
Esempio n. 18
0
 def test_true_div_two_incorect_fraction(self):
     """тест: делим не правильные дроби"""
     F1 = Fraction(14, 8)
     F2 = Fraction(2, 1)
     F = F1 / F2
     self.assertEqual(F.__str__(), '7/8')
 def test_display_if_den_negative(self):
     """тест: если по ошибке введи отрицательный знаменатель"""
     F = Fraction(3, -4)
     self.assertEqual(F.__str__(), '3/4')
Esempio n. 20
0
 def test_first_fr_equal_second_fr(self):
     """тест: первая дробь эквивалентна второй"""
     F = Fraction(2, 3)
     self.assertTrue(self.A <= F)
 def test_display_if_num_and_den_nedative(self):
     """тест: учитываем знак только в числителе"""
     F = Fraction(-3, -4)
     self.assertEqual(F.__str__(), '-3/4')
Esempio n. 22
0
 def setUp(self):
     self.A = Fraction(1, 3)
     self.B = Fraction(2, 3)
Esempio n. 23
0
 def test_mul_incorect_fraction(self):
     """тест: умножаем неправильные дроби"""
     F1 = Fraction(4, 5)
     F2 = Fraction(-4, 5)
     F = F1 * F2
     self.assertEqual(F.__str__(), '-16/25')