From e37112ddb4e140b621d41fb2208eb6f698aafa83 Mon Sep 17 00:00:00 2001 From: realphilip Date: Thu, 29 Oct 2020 07:29:11 +0100 Subject: [PATCH 1/5] add green test for clear key --- src/test/java/tdd/setup/CalculatorTest.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 3bf16e9..fd64a07 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -6,14 +6,26 @@ @DisplayName("Retro calculator") class CalculatorTest { + + private Calculator calc = new Calculator(); @Test @DisplayName("should display result after adding two positive numbers") void calculatorCanDoTwoPlusTwo() { - Calculator calc = new Calculator(); calc.pressDigitKey(2); calc.pressOperationKey("+"); calc.pressDigitKey(2); calc.pressEquals(); assertEquals("4", calc.readScreen()); } + + @Test + @DisplayName("should revert screen to 0") + void calculatorCanClearScreen(){ + calc.pressDigitKey(2); + calc.pressOperationKey("+"); + calc.pressDigitKey(2); + calc.pressEquals(); + calc.pressClearKey(); + assertEquals("0", calc.readScreen()); + } } From f0ecf305e7fcaf03dd04b1f68527edfd8c5afd4c Mon Sep 17 00:00:00 2001 From: realphilip Date: Thu, 29 Oct 2020 07:30:45 +0100 Subject: [PATCH 2/5] add red test for ppercentage operator --- 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 fd64a07..eaccde2 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -28,4 +28,14 @@ void calculatorCanClearScreen(){ calc.pressClearKey(); assertEquals("0", calc.readScreen()); } + + @Test + @DisplayName("should move decimal point two spaces forward") + void calculatorCanDecimalizePercentages(){ + calc.pressDigitKey(8); + calc.pressDigitKey(9); + calc.pressDigitKey(8); + calc.pressOperationKey("%"); + assertEquals("8.98", calc.readScreen()); + } } From b0b00bc445e7a0ce79c6c919ecf8836259f2d459 Mon Sep 17 00:00:00 2001 From: realphilip Date: Thu, 29 Oct 2020 07:34:36 +0100 Subject: [PATCH 3/5] fix for percentage operator, test now green --- 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 171f6d6..ff29f04 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -43,6 +43,7 @@ public void pressNegative() { public void pressEquals() { var result = switch(latestOperation) { + case "%" -> latestValue / 100; case "+" -> latestValue + Double.parseDouble(screen); case "-" -> latestValue - Double.parseDouble(screen); case "x" -> latestValue * Double.parseDouble(screen); From 6e066bf2166237882ed828b14ba2253c315147a6 Mon Sep 17 00:00:00 2001 From: realphilip Date: Thu, 29 Oct 2020 07:45:27 +0100 Subject: [PATCH 4/5] add red test for negative number functionality --- 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 eaccde2..eda6eb6 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -38,4 +38,14 @@ void calculatorCanDecimalizePercentages(){ calc.pressOperationKey("%"); assertEquals("8.98", calc.readScreen()); } + + @Test + @DisplayName ("if the negative key is pressed before the input of a number, the number should turn negative") + void calculatorCanDisplayNegativeNumbers () { + calc.pressClearKey(); + calc.pressNegative(); + calc.pressDigitKey(8); + calc.pressDigitKey(8); + assertEquals("-88", calc.readScreen()); + } } From 97bab6047c47775637560eaed2547063e96c7448 Mon Sep 17 00:00:00 2001 From: realphilip Date: Thu, 29 Oct 2020 07:49:57 +0100 Subject: [PATCH 5/5] fix for displaying negative numbers --- src/main/java/tdd/setup/Calculator.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index ff29f04..286e509 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -38,7 +38,9 @@ public void pressDotKey() { } public void pressNegative() { - screen = screen.startsWith("-") ? screen.substring(1) : "-" + screen; + screen = screen.startsWith("-") ? screen.substring(1) : "-"; + + } public void pressEquals() {