From 2efec6fe16d095587fa85b9ec52a0f5599303365 Mon Sep 17 00:00:00 2001 From: NPhilip576065 Date: Tue, 27 Oct 2020 14:20:01 +0100 Subject: [PATCH 1/5] first test --- src/test/java/tdd/setup/CalculatorTest.java | 23 +++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 3bf16e9..a65d04c 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -16,4 +16,27 @@ void calculatorCanDoTwoPlusTwo() { calc.pressEquals(); assertEquals("4", calc.readScreen()); } + + //successful + @Test + @DisplayName("should display result after multiplying two positive numbers") + void calculatorCanDoTwoTimesFour() + { + Calculator calc = new Calculator(); + calc.pressDigitKey(2); + calc.pressOperationKey("x"); + calc.pressDigitKey(4); + calc.pressEquals(); + assertEquals("8", calc.readScreen()); + System.out.println(calc.readScreen()); + } + + + + + + + + + } From e2b92f2bf8bba790d9895222308713f0cc83d528 Mon Sep 17 00:00:00 2001 From: NPhilip576065 Date: Tue, 27 Oct 2020 14:23:52 +0100 Subject: [PATCH 2/5] first red test --- src/test/java/tdd/setup/CalculatorTest.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index a65d04c..1345c48 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -33,6 +33,24 @@ void calculatorCanDoTwoTimesFour() + //fail + @Test + @DisplayName("should display result after addition with dot ") + void calculatorCanDoAdditionWithDot() + { + Calculator calc = new Calculator(); + + calc.pressDigitKey(5); + calc.pressDotKey(); + calc.pressDigitKey(2); + calc.pressOperationKey("+"); + calc.pressDigitKey(3); + calc.pressDotKey(); + calc.pressDigitKey(5); + calc.pressEquals(); + assertEquals("8.7", calc.readScreen()); + System.out.println(calc.readScreen()); + } From 7f68c16473c70811310e510179461f1b17bdb700 Mon Sep 17 00:00:00 2001 From: NPhilip576065 Date: Tue, 27 Oct 2020 14:25:41 +0100 Subject: [PATCH 3/5] first red fix --- src/main/java/tdd/setup/Calculator.java | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index 171f6d6..2f23f64 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -1,4 +1,5 @@ package tdd.setup; +import java.util.Scanner; // behaviour inspired by https://www.online-calculator.com/ public class Calculator { @@ -9,21 +10,18 @@ public class Calculator { private String latestOperation = ""; - public String readScreen() { + public String readScreen() + { return screen; } - public void pressDigitKey(int digit) { + public void pressDigitKey(int digit) + { if(digit > 9 || digit < 0) throw new IllegalArgumentException(); - - if(latestOperation.isEmpty()) { screen = screen + digit; - } else { - latestValue = Double.parseDouble(screen); - screen = Integer.toString(digit); - } } - public void pressClearKey() { + public void pressClearKey() + { screen = "0"; latestOperation = ""; latestValue = 0.0; @@ -31,6 +29,8 @@ public void pressClearKey() { public void pressOperationKey(String operation) { latestOperation = operation; + latestValue = Double.parseDouble(screen); + screen = ""; } public void pressDotKey() { @@ -41,6 +41,8 @@ public void pressNegative() { screen = screen.startsWith("-") ? screen.substring(1) : "-" + screen; } + + public void pressEquals() { var result = switch(latestOperation) { case "+" -> latestValue + Double.parseDouble(screen); @@ -53,3 +55,5 @@ public void pressEquals() { if(screen.endsWith(".0")) screen = screen.substring(0,screen.length()-2); } } + +//hallo \ No newline at end of file From 7e1df975563ed0df57df10432242364f333ed4cf Mon Sep 17 00:00:00 2001 From: NPhilip576065 Date: Tue, 27 Oct 2020 14:27:12 +0100 Subject: [PATCH 4/5] second red test --- src/test/java/tdd/setup/CalculatorTest.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 1345c48..b8921d0 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -52,9 +52,15 @@ void calculatorCanDoAdditionWithDot() System.out.println(calc.readScreen()); } - - - - + @Test + @DisplayName("should display number negative") + void calculatorCanDoNegative() + { + Calculator calc = new Calculator(); + calc.pressDigitKey(3); + calc.pressNegative(); + assertEquals("-3", calc.readScreen()); + System.out.println(calc.readScreen()); + } } From 31f999862140ec0779e75a6bf745769fd963b8b5 Mon Sep 17 00:00:00 2001 From: NPhilip576065 Date: Tue, 27 Oct 2020 14:28:19 +0100 Subject: [PATCH 5/5] second red fix --- 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 2f23f64..c4dd77a 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -4,7 +4,7 @@ // behaviour inspired by https://www.online-calculator.com/ public class Calculator { - private String screen = "0"; + private String screen = ""; private double latestValue;