From 6ab85d69e130e768d896480c47c24e74204ce7b2 Mon Sep 17 00:00:00 2001 From: Sebastian Bugge <vkbugge@hotmail.com> Date: Mon, 7 Mar 2022 13:19:48 +0100 Subject: [PATCH] Added positive multiplication and integer division --- .../java/resources/CalculatorResource.java | 30 +++++++++++++++++++ src/test/java/CalculatorResourceTest.java | 22 ++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/src/main/java/resources/CalculatorResource.java b/src/main/java/resources/CalculatorResource.java index 8d30f8d..083e8c6 100644 --- a/src/main/java/resources/CalculatorResource.java +++ b/src/main/java/resources/CalculatorResource.java @@ -39,6 +39,8 @@ public class CalculatorResource { */ if(expressionTrimmed.matches("[0-9]+[+][0-9]+")) result = sum(expressionTrimmed); else if(expressionTrimmed.matches("[0-9]+[-][0-9]+")) result = subtraction(expressionTrimmed); + else if(expressionTrimmed.matches("[0-9]+[*][0-9]+")) result = multiplication(expressionTrimmed); + else if(expressionTrimmed.matches("[0-9]+[/][0-9]+")) result = division(expressionTrimmed); return result; } @@ -70,4 +72,32 @@ public class CalculatorResource { return number1 - number2; } + + /** + * Method used to calculate a subtraction expression. + * @param expression the expression to be calculated as a String + * @return the answer as an int + */ + public int multiplication(String expression){ + String[] split = expression.split("[*]"); + + int number1 = Integer.parseInt(split[0]); + int number2 = Integer.parseInt(split[1]); + + return number1 * number2; + } + + /** + * Method used to calculate a subtraction expression. + * @param expression the expression to be calculated as a String + * @return the answer as an int + */ + public int division(String expression){ + String[] split = expression.split("[/]"); + + int number1 = Integer.parseInt(split[0]); + int number2 = Integer.parseInt(split[1]); + + return number1 / number2; + } } diff --git a/src/test/java/CalculatorResourceTest.java b/src/test/java/CalculatorResourceTest.java index a04ee8b..411ec2f 100644 --- a/src/test/java/CalculatorResourceTest.java +++ b/src/test/java/CalculatorResourceTest.java @@ -37,4 +37,26 @@ public class CalculatorResourceTest{ expression = "20-2"; assertEquals(200, calculatorResource.subtraction(expression)); } + + @Test + public void testMultiplication(){ + CalculatorResource calculatorResource = new CalculatorResource(); + + String expression = "10*100"; + assertEquals(1000, calculatorResource.multiplication(expression)); + + expression = "9*3"; + assertEquals(27, calculatorResource.multiplication(expression)); + } + + @Test + public void testDivision(){ + CalculatorResource calculatorResource = new CalculatorResource(); + + String expression = "100/10"; + assertEquals(10, calculatorResource.division(expression)); + + expression = "9/3"; + assertEquals(3, calculatorResource.division(expression)); + } } -- GitLab