diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index 171f6d6..f0c12b7 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -34,11 +34,11 @@ public void pressOperationKey(String operation) { } public void pressDotKey() { - if(!screen.endsWith(".")) screen = screen + "."; + if (!screen.contains(".")) screen = screen + "."; } public void pressNegative() { - screen = screen.startsWith("-") ? screen.substring(1) : "-" + screen; + if (!screen.startsWith("-")) screen = "-" + screen; } public void pressEquals() { diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 3bf16e9..af0c9c3 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -16,4 +16,44 @@ void calculatorCanDoTwoPlusTwo() { calc.pressEquals(); assertEquals("4", calc.readScreen()); } + + @Test + @DisplayName("Test: should display result after multiplying two positive numbers") + void calculatorCanMultiplicate() { + Calculator calc = new Calculator(); + calc.pressDigitKey(3); + calc.pressOperationKey("x"); + calc.pressDigitKey(4); + calc.pressEquals(); + assertEquals("12", calc.readScreen()); + } + + @Test + @DisplayName("Test: should display result after double using pressNegative") + void calculatorUsesMinusCorrectly() { + Calculator calc = new Calculator(); + calc.pressDigitKey(5); + calc.pressNegative(); + calc.pressNegative(); + calc.pressOperationKey("x"); + calc.pressDigitKey(4); + calc.pressNegative(); + calc.pressEquals(); + assertEquals("20", calc.readScreen()); + + } + + @Test + @DisplayName("Test: should display result after double using pressDotKey") + void calculatorCanClearContents() { + Calculator calc = new Calculator(); + calc.pressDigitKey(3); + calc.pressDotKey(); + calc.pressDigitKey(5); + calc.pressDotKey(); + calc.pressOperationKey("x"); + calc.pressDigitKey(4); + calc.pressEquals(); + assertEquals("14", calc.readScreen()); + } }