From 332fe197b2722fc1f97fa50d94012377d1649d55 Mon Sep 17 00:00:00 2001 From: EmadBaroudi Date: Thu, 29 Oct 2020 14:16:59 +0100 Subject: [PATCH 1/5] First Green Test --- src/test/java/tdd/setup/CalculatorTest.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 3bf16e9..f85d933 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -16,4 +16,16 @@ void calculatorCanDoTwoPlusTwo() { calc.pressEquals(); assertEquals("4", calc.readScreen()); } + // First Green Test + @Test + @DisplayName("should Clear the screen and display 0") + void calculatorCanClearScreen() { + Calculator calc1 = new Calculator(); + calc1.pressDigitKey(2); + calc1.pressOperationKey("+"); + calc1.pressDigitKey(2); + calc1.pressEquals(); + calc1.pressClearKey(); + assertEquals("0",calc1.readScreen()); + } } From fe0712846d360488750db564147ea33db89ad312 Mon Sep 17 00:00:00 2001 From: EmadBaroudi Date: Thu, 29 Oct 2020 14:20:27 +0100 Subject: [PATCH 2/5] First Red Test --- src/test/java/tdd/setup/CalculatorTest.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index f85d933..6202e20 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -28,4 +28,16 @@ void calculatorCanClearScreen() { calc1.pressClearKey(); assertEquals("0",calc1.readScreen()); } + // First Red Test + @Test + @DisplayName("should display decimal number") + void CalculatorCanDisplayDecimal() { + Calculator calc2 = new Calculator(); + calc2.pressDigitKey(1); + calc2.pressDotKey(); + calc2.pressDigitKey(9); + calc2.pressDigitKey(9); + calc2.pressEquals(); + assertEquals("1.99", calc2.readScreen()); + } } From 6540096128e6403f59153cf92be7943ba143f9ca Mon Sep 17 00:00:00 2001 From: EmadBaroudi Date: Thu, 29 Oct 2020 15:09:20 +0100 Subject: [PATCH 3/5] First Red Test bugfix --- src/main/java/tdd/setup/Calculator.java | 2 +- src/test/java/tdd/setup/CalculatorTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index 171f6d6..2d5aa12 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -3,7 +3,7 @@ // behaviour inspired by https://www.online-calculator.com/ public class Calculator { - private String screen = "0"; + private String screen = ""; private double latestValue; diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 6202e20..dcd0d89 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -37,7 +37,7 @@ void CalculatorCanDisplayDecimal() { calc2.pressDotKey(); calc2.pressDigitKey(9); calc2.pressDigitKey(9); - calc2.pressEquals(); + assertEquals("1.99", calc2.readScreen()); } } From b9b9f23b85f7890b6fd62bc49a9a444049872005 Mon Sep 17 00:00:00 2001 From: EmadBaroudi Date: Thu, 29 Oct 2020 15:48:12 +0100 Subject: [PATCH 4/5] Second Red Test --- src/test/java/tdd/setup/CalculatorTest.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index dcd0d89..f302c6d 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -40,4 +40,15 @@ void CalculatorCanDisplayDecimal() { assertEquals("1.99", calc2.readScreen()); } + // second Red Test + @Test + @DisplayName("Should calculate the square root") + void CalculatorCanDoSquareroot() { + Calculator calc3 = new Calculator(); + calc3.pressDigitKey(5); + calc3.pressOperationKey("sqrt"); + calc3.pressEquals(); + + assertEquals("2.23606797749979", calc3.readScreen()); + } } From 4ace328309c9d8db7964a278cc8c47d816a037b1 Mon Sep 17 00:00:00 2001 From: EmadBaroudi Date: Thu, 29 Oct 2020 15:49:03 +0100 Subject: [PATCH 5/5] Second Red Test bugfix --- src/main/java/tdd/setup/Calculator.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index 2d5aa12..c9bf54d 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -47,6 +47,7 @@ public void pressEquals() { case "-" -> latestValue - Double.parseDouble(screen); case "x" -> latestValue * Double.parseDouble(screen); case "/" -> latestValue / Double.parseDouble(screen); + case "sqrt" -> Math.sqrt(Double.parseDouble(screen)); default -> throw new IllegalArgumentException(); }; screen = Double.toString(result);