From e59f8f9157cbd820e69b1e204835438f5451e9fb Mon Sep 17 00:00:00 2001 From: root Date: Wed, 28 Oct 2020 19:27:41 +0100 Subject: [PATCH 1/6] =?UTF-8?q?Erster=20gr=C3=BCner=20Test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/tdd/setup/CalculatorTest.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 3bf16e9..da7f0d1 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -16,4 +16,19 @@ void calculatorCanDoTwoPlusTwo() { calc.pressEquals(); assertEquals("4", calc.readScreen()); } + + + @Test + @DisplayName("should display result after dividing two positive numbers") + void calculatorCanDoEightDividedByFour() { + Calculator c1 = new Calculator(); + c1.pressDigitKey(8); + c1.pressOperationKey("/"); + c1.pressDigitKey(4); + c1.pressEquals(); + assertEquals("2", c1.readScreen()); + } + + + } From 3fb4bace2c369cf00bca4617a4e9ebcb4ec49c28 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 28 Oct 2020 20:00:41 +0100 Subject: [PATCH 2/6] Erster Roter Test --- src/test/java/tdd/setup/CalculatorTest.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index da7f0d1..2751094 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -29,6 +29,15 @@ void calculatorCanDoEightDividedByFour() { assertEquals("2", c1.readScreen()); } - - + @Test + @DisplayName("should display a correct number after press dotkey several time") + void calculatorCanUseSeveralDots() { + Calculator c2 = new Calculator(); + c2.pressDigitKey(2); + c2.pressDotKey(); + c2.pressDigitKey(2); + c2.pressDotKey(); + c2.pressDigitKey(8); + assertEquals("2.28", c2.readScreen()); + } } From 7620955f0058f34c18067a3731dc12f2fbf99966 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 28 Oct 2020 21:28:31 +0100 Subject: [PATCH 3/6] Erster Roter Test --- src/main/java/tdd/setup/Calculator.java | 3 ++- src/test/java/tdd/setup/CalculatorTest.java | 14 ++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index 171f6d6..8888cfb 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -19,7 +19,7 @@ public void pressDigitKey(int digit) { screen = screen + digit; } else { latestValue = Double.parseDouble(screen); - screen = Integer.toString(digit); + screen = Integer.toString(digit); //Hier muss doch Double.toString(digit) stehen? } } @@ -52,4 +52,5 @@ public void pressEquals() { screen = Double.toString(result); if(screen.endsWith(".0")) screen = screen.substring(0,screen.length()-2); } + } diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 2751094..ff5997d 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -30,14 +30,16 @@ void calculatorCanDoEightDividedByFour() { } @Test - @DisplayName("should display a correct number after press dotkey several time") - void calculatorCanUseSeveralDots() { + @DisplayName("should display a correct number with a dot") //Code von 2.2.8 auf 1.1+1.1 und davon auf 1.1 + void calculatorCanAdditionWithTwoDots() { Calculator c2 = new Calculator(); - c2.pressDigitKey(2); + c2.pressDigitKey(1); c2.pressDotKey(); - c2.pressDigitKey(2); + c2.pressDigitKey(1); + /* c2.pressOperationKey("+"); + c2.pressDigitKey(1); c2.pressDotKey(); - c2.pressDigitKey(8); - assertEquals("2.28", c2.readScreen()); + c2.pressDigitKey(1); */ + assertEquals("1.1", c2.readScreen()); } } From 442e07e323a7c75bebea25741bff858805f22a50 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 28 Oct 2020 21:32:55 +0100 Subject: [PATCH 4/6] Erster Roter Test Bugfix --- 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 8888cfb..d907634 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; From 24ce6b47558b9a370dec0ec5ad608b6cd4afaad6 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 29 Oct 2020 09:28:08 +0100 Subject: [PATCH 5/6] Zweiter Roter Test --- src/main/java/tdd/setup/Calculator.java | 5 +++++ src/test/java/tdd/setup/CalculatorTest.java | 12 ++++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index d907634..7646f24 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -41,12 +41,17 @@ public void pressNegative() { screen = screen.startsWith("-") ? screen.substring(1) : "-" + screen; } + public void pressPercentage() { //selber hinzugefügt + latestValue = latestValue / 100; + } + public void pressEquals() { var result = switch(latestOperation) { case "+" -> latestValue + Double.parseDouble(screen); case "-" -> latestValue - Double.parseDouble(screen); case "x" -> latestValue * Double.parseDouble(screen); case "/" -> latestValue / Double.parseDouble(screen); + case "%" -> latestValue / 100; 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 ff5997d..72f6951 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -41,5 +41,17 @@ void calculatorCanAdditionWithTwoDots() { c2.pressDotKey(); c2.pressDigitKey(1); */ assertEquals("1.1", c2.readScreen()); + } + + @Test + @DisplayName("should display result after pressing percentage") + void calculatorCanPercentage() { + Calculator c3 = new Calculator(); + c3.pressDigitKey(1); + c3.pressOperationKey("%"); + c3.pressEquals(); + assertEquals("0.01", c3.readScreen()); + } + } From 448b565b0a5010401f600671f985bf7c6ac2cf3d Mon Sep 17 00:00:00 2001 From: root Date: Thu, 29 Oct 2020 12:28:47 +0100 Subject: [PATCH 6/6] Zweiter Bugfix --- src/main/java/tdd/setup/Calculator.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index 7646f24..7c374ad 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -31,6 +31,7 @@ public void pressClearKey() { public void pressOperationKey(String operation) { latestOperation = operation; + latestValue = 1; } public void pressDotKey() { @@ -41,9 +42,6 @@ public void pressNegative() { screen = screen.startsWith("-") ? screen.substring(1) : "-" + screen; } - public void pressPercentage() { //selber hinzugefügt - latestValue = latestValue / 100; - } public void pressEquals() { var result = switch(latestOperation) {