From 3540fc3eaae1524f8480a7410e0d7fd26ad9a455 Mon Sep 17 00:00:00 2001 From: albianislami Date: Fri, 30 Oct 2020 13:21:25 +0100 Subject: [PATCH 1/5] Second Green Test --- src/test/java/tdd/setup/CalculatorTest.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 3bf16e9..a9b6e9e 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -16,4 +16,15 @@ void calculatorCanDoTwoPlusTwo() { calc.pressEquals(); assertEquals("4", calc.readScreen()); } -} + @Test + @DisplayName("should display result 3") + void calculatorCanDoFiveMinusTwo() { + Calculator calc = new Calculator(); + calc.pressDigitKey(5); + calc.pressOperationKey("-"); + calc.pressDigitKey(2); + System.out.println(calc.readScreen()); + calc.pressEquals(); + assertEquals("3", calc.readScreen()); + } + } From d0603c8eb446cd489fc20757a527a904bb78b38a Mon Sep 17 00:00:00 2001 From: albianislami Date: Fri, 30 Oct 2020 13:25:04 +0100 Subject: [PATCH 2/5] first red test --- src/test/java/tdd/setup/CalculatorTest.java | 34 ++++++++++++++------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index a9b6e9e..52d63db 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -16,15 +16,27 @@ void calculatorCanDoTwoPlusTwo() { calc.pressEquals(); assertEquals("4", calc.readScreen()); } - @Test - @DisplayName("should display result 3") - void calculatorCanDoFiveMinusTwo() { - Calculator calc = new Calculator(); - calc.pressDigitKey(5); - calc.pressOperationKey("-"); - calc.pressDigitKey(2); - System.out.println(calc.readScreen()); - calc.pressEquals(); - assertEquals("3", calc.readScreen()); - } + + @Test + @DisplayName("should display result 3") + void calculatorCanDoFiveMinusTwo() { + Calculator calc = new Calculator(); + calc.pressDigitKey(5); + calc.pressOperationKey("-"); + calc.pressDigitKey(2); + System.out.println(calc.readScreen()); + calc.pressEquals(); + assertEquals("3", calc.readScreen()); + } + + @Test + @DisplayName("should display result 5.5") + void calculatorCanShowDecimal() { + Calculator calc = new Calculator(); + calc.pressDigitKey(5); + calc.pressDotKey(); + calc.pressDigitKey(5); + System.out.println(calc.readScreen()); + assertEquals("5.5", calc.readScreen()); } +} \ No newline at end of file From 60915b73b46db59f75f3c61323edd6bd3e95c45b Mon Sep 17 00:00:00 2001 From: albianislami Date: Fri, 30 Oct 2020 13:26:58 +0100 Subject: [PATCH 3/5] fix first red test --- src/main/java/tdd/setup/Calculator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; From ab186ef2ab0d108cf89457a33e9d94f8cf5b0809 Mon Sep 17 00:00:00 2001 From: albianislami Date: Fri, 30 Oct 2020 13:30:38 +0100 Subject: [PATCH 4/5] second red test --- src/main/java/tdd/setup/Calculator.java | 1 + src/test/java/tdd/setup/CalculatorTest.java | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index 2d5aa12..fa51c6d 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); + default -> throw new IllegalArgumentException(); }; screen = Double.toString(result); diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 52d63db..6c7dde8 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -39,4 +39,13 @@ void calculatorCanShowDecimal() { System.out.println(calc.readScreen()); assertEquals("5.5", calc.readScreen()); } + + @Test + @DisplayName("should display same digit after pressing Equals without an operation") + void calculatorCanDoFourEquals() { + Calculator calc = new Calculator(); + calc.pressDigitKey(5); + calc.pressEquals(); + assertEquals("5", calc.readScreen()); + } } \ No newline at end of file From d9befcf3c1e50e892897395f6498b58f3dee404d Mon Sep 17 00:00:00 2001 From: albianislami Date: Fri, 30 Oct 2020 13:31:34 +0100 Subject: [PATCH 5/5] second red test fix --- src/main/java/tdd/setup/Calculator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index fa51c6d..cb29a17 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -47,7 +47,7 @@ public void pressEquals() { case "-" -> latestValue - Double.parseDouble(screen); case "x" -> latestValue * Double.parseDouble(screen); case "/" -> latestValue / Double.parseDouble(screen); - + case "" -> Double.parseDouble(screen); default -> throw new IllegalArgumentException(); }; screen = Double.toString(result);