From 07ab54c36d08ea8333cc304eab954ac99cf47735 Mon Sep 17 00:00:00 2001 From: kemalghifari Date: Thu, 29 Oct 2020 15:31:17 +0100 Subject: [PATCH 1/5] first green test --- src/test/java/tdd/setup/CalculatorTest.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 3bf16e9..15e335b 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -16,4 +16,16 @@ void calculatorCanDoTwoPlusTwo() { calc.pressEquals(); assertEquals("4", calc.readScreen()); } + + @Test + @DisplayName("should display result after pressing clear key") + void calculatorCanDisplayZeroResult() { + Calculator calc = new Calculator(); + calc.pressDigitKey(1); + calc.pressOperationKey("+"); + calc.pressDigitKey(2); + calc.pressEquals(); + calc.pressClearKey(); + assertEquals("0", calc.readScreen()); + } } From 1d4cc193ed90c8634faea348404f1870835fdf23 Mon Sep 17 00:00:00 2001 From: kemalghifari Date: Thu, 29 Oct 2020 15:35:07 +0100 Subject: [PATCH 2/5] first red test --- src/test/java/tdd/setup/CalculatorTest.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 15e335b..1e89190 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -28,4 +28,18 @@ void calculatorCanDisplayZeroResult() { calc.pressClearKey(); assertEquals("0", calc.readScreen()); } + + @Test + @DisplayName("should display result after multiplying two decimal numbers") + void calculatorCanDoZeroCommaTwoTimesZeroCommaThree() { + Calculator calc = new Calculator(); + calc.pressDotKey(); + calc.pressDigitKey(2); + calc.pressOperationKey("x"); + calc.pressDotKey(); + calc.pressDigitKey(3); + calc.pressEquals(); + assertEquals("0.06", calc.readScreen()); + } } + From fc6466985f3f1e0b95264bcfb36fa4b8e66d61f4 Mon Sep 17 00:00:00 2001 From: kemalghifari Date: Thu, 29 Oct 2020 15:49:10 +0100 Subject: [PATCH 3/5] fixed bug in the first red test --- src/main/java/tdd/setup/Calculator.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index 171f6d6..7565061 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -19,7 +19,11 @@ public void pressDigitKey(int digit) { screen = screen + digit; } else { latestValue = Double.parseDouble(screen); - screen = Integer.toString(digit); + if(!screen.contains(".")){ + screen = Integer.toString(digit); + } else { + screen = "0" + "." + digit; + } } } @@ -34,7 +38,7 @@ public void pressOperationKey(String operation) { } public void pressDotKey() { - if(!screen.endsWith(".")) screen = screen + "."; + if(!screen.contains(".")) screen = screen + "."; } public void pressNegative() { From 5ae56326e015dbdd65952fadda14c309292a70e6 Mon Sep 17 00:00:00 2001 From: kemalghifari Date: Thu, 29 Oct 2020 16:49:02 +0100 Subject: [PATCH 4/5] second red test --- src/test/java/tdd/setup/CalculatorTest.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 1e89190..2133080 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -41,5 +41,17 @@ void calculatorCanDoZeroCommaTwoTimesZeroCommaThree() { calc.pressEquals(); assertEquals("0.06", calc.readScreen()); } + + @Test + @DisplayName("should display result after multiplying a negative button with a positive number") + void calculatorCanDoNegativeButtonTimesThree() { + Calculator calc = new Calculator(); + calc.pressNegative(); + calc.pressOperationKey("x"); + calc.pressDigitKey(3); + calc.pressEquals(); + assertEquals("0", calc.readScreen()); + } } + From 6be4afb78f3fdef2fddab5abdcce2ea01922a446 Mon Sep 17 00:00:00 2001 From: kemalghifari Date: Thu, 29 Oct 2020 16:52:02 +0100 Subject: [PATCH 5/5] fixed bug of the second red test --- src/main/java/tdd/setup/Calculator.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index 7565061..e3cc4b9 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -43,6 +43,9 @@ public void pressDotKey() { public void pressNegative() { screen = screen.startsWith("-") ? screen.substring(1) : "-" + screen; + if (screen.equals("-" + "0")) { + screen = "0"; + } } public void pressEquals() {