From 75576a666d5b2aecfcb96391ddc280efbce728e6 Mon Sep 17 00:00:00 2001 From: Juraj Martinka Date: Mon, 6 Oct 2025 15:07:06 +0200 Subject: [PATCH 1/3] Single component change. --- .../src/main/java/com/codescene/calculator1/Calculator.java | 4 ++++ 1 file changed, 4 insertions(+) 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..dc8c8e1 100644 --- a/calculator-1/src/main/java/com/codescene/calculator1/Calculator.java +++ b/calculator-1/src/main/java/com/codescene/calculator1/Calculator.java @@ -37,4 +37,8 @@ private double subtract(double firstOperand, double secondOperand) { private double add(double firstOperand, double secondOperand) { return firstOperand + secondOperand; } + + private double squareNotCovered(double x) { + return x * x; + } } From 500eb1f384d1710f8ea5723c671373916babbe38 Mon Sep 17 00:00:00 2001 From: Juraj Martinka Date: Mon, 6 Oct 2025 15:11:21 +0200 Subject: [PATCH 2/3] Change calculator-3. --- .../src/main/java/com/codescene/calculator2/Calculator.java | 3 +++ 1 file changed, 3 insertions(+) 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..4145b54 100644 --- a/calculator-2/src/main/java/com/codescene/calculator2/Calculator.java +++ b/calculator-2/src/main/java/com/codescene/calculator2/Calculator.java @@ -37,4 +37,7 @@ private double subtract(double firstOperand, double secondOperand) { private double add(double firstOperand, double secondOperand) { return firstOperand + secondOperand; } + private double additiveInverseNotCovered(double x) { + return -x; + } } From e3af9240f2c26b3577a2dc8b7ea15ee896916e9a Mon Sep 17 00:00:00 2001 From: Juraj Martinka Date: Mon, 6 Oct 2025 15:44:41 +0200 Subject: [PATCH 3/3] Add coverage for calculator in both changed components. --- .../main/java/com/codescene/calculator1/Calculator.java | 5 ++++- .../java/com/codescene/calculator1/CalculatorTest.java | 7 +++++++ .../main/java/com/codescene/calculator2/Calculator.java | 7 +++++-- .../java/com/codescene/calculator2/CalculatorTest.java | 6 ++++++ 4 files changed, 22 insertions(+), 3 deletions(-) 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 dc8c8e1..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); } @@ -38,7 +41,7 @@ private double add(double firstOperand, double secondOperand) { return firstOperand + secondOperand; } - private double squareNotCovered(double x) { + 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 4145b54..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,7 +40,7 @@ private double subtract(double firstOperand, double secondOperand) { private double add(double firstOperand, double secondOperand) { return firstOperand + secondOperand; } - private double additiveInverseNotCovered(double x) { - return -x; + 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); + } }