diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index 171f6d6..6f63d0b 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; @@ -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); diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 3bf16e9..ab9dcbb 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -16,4 +16,34 @@ 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()); + } + + @Test + @DisplayName("should display the correct number") + void showCorrectInput(){ + Calculator c = new Calculator(); + c.pressDigitKey(5); + c.readScreen(); + 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()); + } + + }