From 41340de22efb0cf288b3a1259f53c6645b8ad5a4 Mon Sep 17 00:00:00 2001 From: s0569459 Date: Mon, 2 Nov 2020 10:44:42 +0100 Subject: [PATCH 1/5] first green test - Calculator can screen 0 after clearing --- src/test/java/tdd/setup/CalculatorTest.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 3bf16e9..bb73b2e 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -16,4 +16,13 @@ void calculatorCanDoTwoPlusTwo() { calc.pressEquals(); assertEquals("4", calc.readScreen()); } + + @Test + @DisplayName("should display 0 after pressing clear button") + void canClear() { + Calculator c = new Calculator(); + c.pressDigitKey(5); + c.pressClearKey(); + assertEquals("0", c.readScreen()); + } } From 7611c5d6d7f1ecdca50138235cbe290d9d5c79e7 Mon Sep 17 00:00:00 2001 From: s0569459 Date: Mon, 2 Nov 2020 10:51:02 +0100 Subject: [PATCH 2/5] first red test - should display given Input --- 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 bb73b2e..6d81bfc 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -25,4 +25,15 @@ void canClear() { c.pressClearKey(); assertEquals("0", c.readScreen()); } + + @Test + @DisplayName("should display the correct number") + void showCorrectInput(){ + Calculator c = new Calculator(); + c.pressDigitKey(5); + c.readScreen(); + assertEquals("5", c.readScreen()); + } + + } From 02b677fa3af3618044c63b7bfe94568f07a7207d Mon Sep 17 00:00:00 2001 From: s0569459 Date: Mon, 2 Nov 2020 10:54:05 +0100 Subject: [PATCH 3/5] bugfix 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 211083c7c61be0e1a7fb178535fb375dfb2fbd0f Mon Sep 17 00:00:00 2001 From: s0569459 Date: Mon, 2 Nov 2020 11:01:13 +0100 Subject: [PATCH 4/5] second red test - should display negative Input --- src/test/java/tdd/setup/CalculatorTest.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 6d81bfc..ab9dcbb 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -35,5 +35,15 @@ void showCorrectInput(){ assertEquals("5", c.readScreen()); } + @Test + @DisplayName("Should display negative value of input") + void calCanConvertInput() { + Calculator c = new Calculator(); + c.pressNegative(); + c.pressDigitKey(5); + c.pressEquals(); + assertEquals("-5", c.readScreen()); + } + } From 1d380c9241c552be75edcaf4a0993e91ce85ed80 Mon Sep 17 00:00:00 2001 From: s0569459 Date: Mon, 2 Nov 2020 11:03:56 +0100 Subject: [PATCH 5/5] bugfix second red test --- 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..6f63d0b 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 "" -> latestValue = Double.parseDouble(screen); default -> throw new IllegalArgumentException(); }; screen = Double.toString(result);