class MyTestCase(unittest.TestCase): def setUp(self) -> None: self.calculator = Calculator() def test_instantiate_calculator(self): self.assertIsInstance(self.calculator, Calculator) def test_addition(self): test_data = CsvReader('/src/Test_Addition.csv').data pprint(test_data) for row in test_data: self.assertEqual( self.calculator.addition(row['Value 1'], row['Value 2']), int(row['Result'])) self.assertEqual(self.calculator.result, int(row['Result'])) def test_subtraction(self): test_data = CsvReader('/src/Test_Subtraction.csv').data pprint(test_data) for row in test_data: self.assertEqual( self.calculator.subtraction(row['Value 1'], row['Value 2']), int(row['Result'])) self.assertEqual(self.calculator.result, int(row['Result'])) def test_multiplication(self): test_data = CsvReader('/src/Test_Multiplication.csv').data pprint(test_data) for row in test_data: self.assertEqual( self.calculator.multiplication(row['Value 1'], row['Value 2']), int(row['Result'])) self.assertEqual(self.calculator.result, int(row['Result'])) def test_division(self): test_data = CsvReader('/src/Test_Division.csv').data pprint(test_data) for row in test_data: self.assertEqual( self.calculator.division(row['Value 1'], row['Value 2']), float(row['Result'])) self.assertEqual(self.calculator.result, float(row['Result'])) def test_Square(self): test_data = CsvReader('/src/Test_Square.csv').data pprint(test_data) for row in test_data: self.assertEqual(self.calculator.square(row['Value 1']), int(row['Result'])) self.assertEqual(self.calculator.result, int(row['Result'])) def test_SquareRoot(self): test_data = CsvReader('/src/Test_SquareRoot.csv').data pprint(test_data) for row in test_data: self.assertEqual(self.calculator.square_root(row['Value 1']), float(row['Result'])) self.assertEqual(self.calculator.result, float(row['Result']))
def resolve_lower_precedence_operations(operations: list) -> str: index = 2 jump_to_operand = 2 # I move in spaces of 2 because the operands are in pair directions as args starts in 1 while index < len(operations) - 1: fraction1 = Fraction(operations[index - 1]) fraction2 = Fraction(operations[index + 1]) operand = operations[index] solved = Calculator(fraction1, fraction2) if operand == "+": result = solved.addition() operations[index - 1] = result.convert_to_string() operations.pop(index) operations.pop(index) index -= jump_to_operand if operand == "-": result = solved.subtraction() operations[index - 1] = result.convert_to_string() operations.pop(index) operations.pop(index) index -= jump_to_operand index += jump_to_operand return operations[1]
from Calculator import Calculator calc = Calculator() print(calc.addition(1, 3)) print(calc.subtraction(10, 3))
from Calculator import Calculator calc = Calculator() print(calc.subtraction(6, 5)) print(calc.addition(5, 6)) print(calc.division(4, 4)) print(calc.multiplication(.5, 2)) print(calc.exponent(7, 0)) print(calc.square_root(4)) print(calc.negate(-1))
def test_calculator_addition(self): calculator = Calculator() result = calculator.addition(49, 359) self.assertEqual(408, result)
from Calculator import Calculator calc = Calculator() calc.addition(2, 7) calc.subtraction(5, 3) calc.multiplication(4, 3) calc.division(10, 5) calc.exponent(2, 4) calc.square_root(100) calc.negate(5)
def test_calculator_addition(self): calculator = Calculator() result = calculator.addition(91, 143) self.assertEqual(234, result)
from Calculator import Calculator calc = Calculator() print(calc.addition(1, 2)) print(calc.subtraction(2, 1)) print(calc.multiplication(2, 2)) print(calc.division(4, 2)) print(calc.exponent(2, 3)) print(calc.square_root(4)) print(calc.negate(10))
from Calculator import Calculator calc = Calculator() print(calc.addition(1, 7)) print(calc.subtraction(9, 2)) print(calc.multiplication(6, 4)) print(calc.division(9, 3)) print(calc.exponent(2, 6)) print(calc.square_root(27)) print(calc.negate(6))
def test_for_negative_numbers(): calc = Calculator() result = calc.addition(-1, -1) assert result == -2
def test_for_positive_numbers(): calc = Calculator() result = calc.addition(9, 10) assert result == 19
def test_for_mixed_numbers(): calc = Calculator() result = calc.addition(-1, 1) assert result == 0
def test_for_zero(): calc = Calculator() result = calc.addition(9, 0) assert result == 9
def test_for_decimal(): calc = Calculator() result = calc.addition(9, 1.1) assert result == 10.1
from Calculator import Calculator print(Calculator.division(10, 5, 5)) print(Calculator.addition(5, 6, 7)) print(Calculator.multiplication(7, 5, 4)) print(Calculator.exponent(2, 4, 6)) print(Calculator.subtraction(10, 11, 12)) print(Calculator.negate(65, 65)) print(Calculator.square_root(0, 67))
from Calculator import Calculator compute = Calculator() print(compute.addition(10, 25)) print(compute.subtraction(5, 3)) print(compute.multiplication(5, 10)) print(compute.division(10, 2)) print(compute.exponent(5, 3)) print(compute.square_root(6)) print(compute.negate(200))