Skip to content
Snippets Groups Projects
Commit 4dad1fcb authored by yasinhessnawi's avatar yasinhessnawi
Browse files

updated the the output in error case, updated the tests of the CalculatorResourceTest

parent cb59d807
No related branches found
No related tags found
No related merge requests found
...@@ -37,17 +37,17 @@ public class CalculatorResource { ...@@ -37,17 +37,17 @@ public class CalculatorResource {
* 1+2, * 1+2,
* 10000+1000 * 10000+1000
*/ */
; if (expressionTrimmed.matches("^\\d+(?:\\s*[+]\\s*\\d+)*$")) {
if(expressionTrimmed.contains("+")) {
result = sum(expressionTrimmed); result = sum(expressionTrimmed);
} else if(expressionTrimmed.matches("[0-9]+(\\.[0-9]+)?[-][0-9]+(\\.[0-9]+)?")) { } else if (expressionTrimmed.matches("^\\d+(?:\\s*[-]\\s*\\d+)*$")) {
result = subtraction(expressionTrimmed); result = subtraction(expressionTrimmed);
} else if(expressionTrimmed.matches("[0-9]+(\\.[0-9]+)?[*][0-9]+(\\.[0-9]+)?")) { } else if (expressionTrimmed.matches("^\\d+(?:\\s*[*]\\s*\\d+)*$")) {
result = multiplication(expressionTrimmed); result = multiplication(expressionTrimmed);
} else if(expressionTrimmed.matches("[0-9]+(\\.[0-9]+)?[/][0-9]+(\\.[0-9]+)?")) { } else if (expressionTrimmed.matches("^\\d+(?:\\s*[/]\\s*\\d+)*$")) {
result = division(expressionTrimmed); result = division(expressionTrimmed);
} else { } else {
return "error"; return "Feil i uttrykket, prøv igjen";
} }
return String.valueOf(result); return String.valueOf(result);
} }
...@@ -63,7 +63,6 @@ public class CalculatorResource { ...@@ -63,7 +63,6 @@ public class CalculatorResource {
for (String s : split) { for (String s : split) {
result += Double.parseDouble(s); result += Double.parseDouble(s);
} }
return result; return result;
} }
......
...@@ -10,17 +10,17 @@ public class CalculatorResourceTest{ ...@@ -10,17 +10,17 @@ public class CalculatorResourceTest{
public void testCalculate(){ public void testCalculate(){
CalculatorResource calculatorResource = new CalculatorResource(); CalculatorResource calculatorResource = new CalculatorResource();
String expression = "100+300"; String expression = "100+300+100";
assertEquals("400.0", calculatorResource.calculate(expression)); assertEquals("500.0", calculatorResource.calculate(expression));
expression = " 300 - 99 "; expression = "300 - 99 - 100";
assertEquals("201.0", calculatorResource.calculate(expression)); assertEquals("101.0", calculatorResource.calculate(expression));
expression = "5*2"; expression = "5*2*2";
assertEquals("10.0", calculatorResource.calculate(expression)); assertEquals("20.0", calculatorResource.calculate(expression));
expression = "5/2"; expression = "5/2/2";
assertEquals("2.5", calculatorResource.calculate(expression)); assertEquals("1.25", calculatorResource.calculate(expression));
} }
@Test @Test
...@@ -43,8 +43,8 @@ public class CalculatorResourceTest{ ...@@ -43,8 +43,8 @@ public class CalculatorResourceTest{
String expression = "999-100"; String expression = "999-100";
assertEquals(899, calculatorResource.subtraction(expression)); assertEquals(899, calculatorResource.subtraction(expression));
expression = "20-2"; expression = "20-2-8";
assertEquals(18, calculatorResource.subtraction(expression)); assertEquals(10, calculatorResource.subtraction(expression));
} }
@Test @Test
...@@ -54,16 +54,16 @@ public class CalculatorResourceTest{ ...@@ -54,16 +54,16 @@ public class CalculatorResourceTest{
String expression = "5*12"; String expression = "5*12";
assertEquals(60, calculatorResource.multiplication(expression)); assertEquals(60, calculatorResource.multiplication(expression));
expression = "5*0"; expression = "5*2*2";
assertEquals(0, calculatorResource.multiplication(expression)); assertEquals(20, calculatorResource.multiplication(expression));
} }
@Test @Test
public void testDivision() { public void testDivision() {
CalculatorResource calculatorResource = new CalculatorResource(); CalculatorResource calculatorResource = new CalculatorResource();
String expression = "12/2"; String expression = "12/2/2";
assertEquals(6, calculatorResource.division(expression)); assertEquals(3, calculatorResource.division(expression));
//test case for divide by 0 //test case for divide by 0
expression = "12/0"; expression = "12/0";
......
File added
No preview for this file type
No preview for this file type
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment