def calc(self): # Получим значение из полей ввода a = self.number_a_input.displayText() b = self.number_b_input.displayText() operation = self.operation_input.displayText() # Создать запись калькулятора new_calc = Calculator(a, b, operation) # посчитать результат вычисления калькулятора result = new_calc.calculate() print(new_calc.calculate()) # Создадим и заполним новую строку с результатом в таблице self.create_new_row(str(a), str(b), str(operation), str(result)) # Почистим ячейки self.number_a_input.setText('') self.number_b_input.setText('') self.operation_input.setText('')
def test_composition(self): self.assertEqual(Calculator(5, 7, '+').calculate(), 12)
def test_zero_division_error(self): self.assertEqual(Calculator(7, 0, '/').calculate(), "Деление на 0!")
def test_zero_mod_error(self): self.assertEqual(Calculator(7, 0, '%').calculate(), "Деление на 0!")
def test_str_input(self): self.assertEqual( Calculator('aaa', 12, '*').calculate(), "Ошибка ввода: должно быть введено число")
def test_absent_function(self): self.assertEqual( Calculator(-2, 12, 'func').calculate(), "Операция не поддерживается в калькуляторе")
def test_pow_2(self): self.assertEqual(Calculator(2, 12, 'pow').calculate(), 4096)
def test_negative_numbers(self): self.assertEqual(Calculator(-2, 13, '*').calculate(), -26)
def test_mod_2(self): self.assertEqual(Calculator(36, 5, '%').calculate(), 1)
def test_div_2(self): self.assertEqual(Calculator(36, 5, '//').calculate(), 7)
def test_division(self): self.assertEqual(Calculator(35, 7, '/').calculate(), 5)
def test_multiply(self): self.assertEqual(Calculator(5, 7, '*').calculate(), 35)
def test_subtruction(self): self.assertEqual(Calculator(5, 7, '-').calculate(), -2)