class TestCaseCalculadora(unittest.TestCase): def setUp(self): self.calc = Calculadora() def test_initial_value(self): self.assertEqual(0, self.calc.value) def test_add_2_and_3(self): self.calc.add(2, 3) self.assertEqual(5, self.calc.value) def test_add_4_and_6(self): self.calc.add(4, 6) self.assertEqual(10, self.calc.value) def test_substract_5_and_6(self): self.calc.substract(5, 6) self.assertEqual(-1, self.calc.value) def test_substract_10_and_5(self): self.calc.substract(10, 5) self.assertEqual(5, self.calc.value) def test_div_6_between_2(self): self.calc.div(6, 2) self.assertEqual(3, self.calc.value) def test_div_8_between_2(self): self.calc.div(8, 2) self.assertEqual(4, self.calc.value) def test_div_between_0_should_launch_zerodivisionerror(self): self.assertRaises(ZeroDivisionError, self.calc.div, 5, 0) def test_multiply_5_by_2(self): self.calc.multiply(5, 2) self.assertEqual(10, self.calc.value) def test_multiply_by_0(self): self.calc.multiply(5, 0) self.assertEqual(0, self.calc.value) def test_sqrt_of_9(self): self.calc.sqrt(9) self.assertEqual(3, self.calc.value) def test_sqrt_of_5(self): self.calc.sqrt(5) self.assertAlmostEqual(2.2360679775, self.calc.value, 5) def test_sqrt_of_95(self): self.calc.sqrt(64) self.assertAlmostEqual(8, self.calc.value, 5) def test_sqrt_of_95(self): self.calc.sqrt(95) self.assertAlmostEqual(9.74679434481, self.calc.value, 5)
for i in range(1, len(sys.argv)): numbers.append(int(sys.argv[i])) print(numbers) print('CALCULADORA') print('HECHA POR CARLOS A. GARNICA') #instancia de la calculadora calc = Calculadora(numbers) #Obtemos la lista de numeros convertidos a entero cada uno de los elementos. numbers = calc.get_numbers() #Realizamos las operaciones suma = calc.add(numbers) resta = calc.substract(numbers) multiplicacion = calc.multiply(numbers) division = calc.divide(numbers) mean = calc.mean(numbers) power = calc.power(numbers[-1], numbers[:len(numbers) - 1]) #Se toma el ultimo elemento de la lista como exponente, este ultimo elemento no se calcula root = calc.root(numbers[-1], numbers[:len(numbers) - 1]) #Se toma el ultimo elemento de la lista como indice de la raiz, este ultimo elemento no se calcula numbers_copy = calc.get_numbers() #Creamos una funcion matematica para calcular personalizada operation = (lambda x, y : ((x + y) ** 2/(3))) result_operator = calc.operate([operation], numbers, type_op= 'reduce') #Creamos una segunda funcion matematica, una ecuacion cuadratica ''' SEA x[0]: a, x[1]: b y x[2] :c, los demas valores despues del indice 3 se ignoran