diff --git a/calculator-1/src/main/java/com/codescene/calculator1/Calculator.java b/calculator-1/src/main/java/com/codescene/calculator1/Calculator.java index 0ff2fbe..f274d42 100644 --- a/calculator-1/src/main/java/com/codescene/calculator1/Calculator.java +++ b/calculator-1/src/main/java/com/codescene/calculator1/Calculator.java @@ -15,6 +15,9 @@ public double calculate(double firstOperand, double secondOperand, char operator case ':':{ return divide(firstOperand,secondOperand); } + case '^':{ + return square(firstOperand); + } default: throw new IllegalArgumentException("Unsupported operation :"+operator); } @@ -37,4 +40,8 @@ private double subtract(double firstOperand, double secondOperand) { private double add(double firstOperand, double secondOperand) { return firstOperand + secondOperand; } + + private double square(double x) { + return x * x; + } } diff --git a/calculator-1/src/test/java/com/codescene/calculator1/CalculatorTest.java b/calculator-1/src/test/java/com/codescene/calculator1/CalculatorTest.java index 66c413a..258ab32 100644 --- a/calculator-1/src/test/java/com/codescene/calculator1/CalculatorTest.java +++ b/calculator-1/src/test/java/com/codescene/calculator1/CalculatorTest.java @@ -30,4 +30,11 @@ void divideSimple(){ double result = calculator.calculate(1,1,':'); Assertions.assertEquals(1,result); } + + @Test + void squareSimple(){ + // the signature isn't flexible so we repeat the same number twice + double result = calculator.calculate(10, 10, '^'); + Assertions.assertEquals(100.0,result); + } } diff --git a/calculator-2/src/main/java/com/codescene/calculator2/Calculator.java b/calculator-2/src/main/java/com/codescene/calculator2/Calculator.java index 7c13bea..0d37f70 100644 --- a/calculator-2/src/main/java/com/codescene/calculator2/Calculator.java +++ b/calculator-2/src/main/java/com/codescene/calculator2/Calculator.java @@ -15,6 +15,9 @@ public double calculate(double firstOperand, double secondOperand, char operator case ':':{ return divide(firstOperand,secondOperand); } + case '^':{ + return square(firstOperand); + } default: throw new IllegalArgumentException("Unsupported operation :"+operator); } @@ -37,4 +40,7 @@ private double subtract(double firstOperand, double secondOperand) { private double add(double firstOperand, double secondOperand) { return firstOperand + secondOperand; } + private double square(double x) { + return x * x; + } } diff --git a/calculator-2/src/test/java/com/codescene/calculator2/CalculatorTest.java b/calculator-2/src/test/java/com/codescene/calculator2/CalculatorTest.java index 65fae50..66f433b 100644 --- a/calculator-2/src/test/java/com/codescene/calculator2/CalculatorTest.java +++ b/calculator-2/src/test/java/com/codescene/calculator2/CalculatorTest.java @@ -30,4 +30,10 @@ void divideSimple(){ double result = calculator.calculate(1,1,':'); Assertions.assertEquals(1,result); } + @Test + void squareSimple(){ + // the signature isn't flexible so we repeat the same number twice + double result = calculator.calculate(10, 10, '^'); + Assertions.assertEquals(100.0,result); + } }