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