From 69a5af23ef44f68f1061b4a910361fc4ecfa22f3 Mon Sep 17 00:00:00 2001 From: Admin Date: Sat, 31 Oct 2020 22:06:22 +0100 Subject: [PATCH 1/6] Analysieren Sie das Verhalten der Klasse Calculator und finden Sie Abweichungen im Vergleich zu www.online-calculator.com --- src/test/java/tdd/setup/CalculatorTest.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 3bf16e9..8d8f2d6 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -16,4 +16,7 @@ void calculatorCanDoTwoPlusTwo() { calc.pressEquals(); assertEquals("4", calc.readScreen()); } + // Analysieren Sie das Verhalten der Klasse Calculator und finden Sie Abweichungen im Vergleich zu www.online-calculator.com + // verglichen mit dem Taschenrechner erkennen wir, dass in unserem code mehrere methoden fehlen. zum Beispiel zum Ausführen + // Prozent rechnungen oder die wurzel ziehen, oder rückwerz } From a065787bb5c71edc9ee89627de78b5b84ff3e2b1 Mon Sep 17 00:00:00 2001 From: Admin Date: Sat, 31 Oct 2020 22:55:46 +0100 Subject: [PATCH 2/6] =?UTF-8?q?Schreiben=20Sie=20einen=20neuen=20zus=C3=A4?= =?UTF-8?q?tzlichen=20Test,=20der=20eine=20bisher=20nicht=20getestete=20Fu?= =?UTF-8?q?nktionalit=C3=A4t=20abdeckt,=20die=20bereits=20funktioniert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/tdd/setup/CalculatorTest.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 8d8f2d6..28f7822 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -16,7 +16,17 @@ void calculatorCanDoTwoPlusTwo() { calc.pressEquals(); assertEquals("4", calc.readScreen()); } - // Analysieren Sie das Verhalten der Klasse Calculator und finden Sie Abweichungen im Vergleich zu www.online-calculator.com - // verglichen mit dem Taschenrechner erkennen wir, dass in unserem code mehrere methoden fehlen. zum Beispiel zum Ausführen - // Prozent rechnungen oder die wurzel ziehen, oder rückwerz + + // Schreiben Sie einen neuen zusätzlichen Test, der eine bisher nicht getestete Funktionalität abdeckt, die bereits funktioniert + @Test + @DisplayName("should display result after multiplicated two positive numbers") + void calculatorCanDoFourTimesThree() { + Calculator calc = new Calculator(); + calc.pressDigitKey(4); + calc.pressOperationKey("x"); + calc.pressDigitKey(3); + calc.pressEquals(); + assertEquals("12", calc.readScreen()); + } + } From 7c1de24be80d7b249cee5bc1d81c10cd090d646d Mon Sep 17 00:00:00 2001 From: Admin Date: Sat, 31 Oct 2020 22:59:35 +0100 Subject: [PATCH 3/6] neuer roter Test --- src/test/java/tdd/setup/CalculatorTest.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 28f7822..d579f13 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -16,17 +16,15 @@ void calculatorCanDoTwoPlusTwo() { calc.pressEquals(); assertEquals("4", calc.readScreen()); } - - // Schreiben Sie einen neuen zusätzlichen Test, der eine bisher nicht getestete Funktionalität abdeckt, die bereits funktioniert +// neuer roter Test @Test - @DisplayName("should display result after multiplicated two positive numbers") - void calculatorCanDoFourTimesThree() { + @DisplayName("display should show the same digit after pressing 'equals'") + void calculatorCanDoSevenEquals() { Calculator calc = new Calculator(); - calc.pressDigitKey(4); - calc.pressOperationKey("x"); - calc.pressDigitKey(3); + calc.pressDigitKey(7); calc.pressEquals(); - assertEquals("12", calc.readScreen()); - } + assertEquals("7", calc.readScreen()); -} + + } +}; From 4cc7a172eb593dde9282a0eb030b87add963fa4a Mon Sep 17 00:00:00 2001 From: Admin Date: Sat, 31 Oct 2020 23:03:32 +0100 Subject: [PATCH 4/6] Fix zu diesem Test --- src/main/java/tdd/setup/Calculator.java | 3 +++ src/test/java/tdd/setup/CalculatorTest.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index 171f6d6..8374cd6 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -43,6 +43,9 @@ public void pressNegative() { public void pressEquals() { var result = switch(latestOperation) { + + // Fix zu diesem Test + case "" -> Double.parseDouble(screen); case "+" -> latestValue + Double.parseDouble(screen); case "-" -> latestValue - Double.parseDouble(screen); case "x" -> latestValue * Double.parseDouble(screen); diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index d579f13..2a491d0 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -16,7 +16,7 @@ void calculatorCanDoTwoPlusTwo() { calc.pressEquals(); assertEquals("4", calc.readScreen()); } -// neuer roter Test +// Fix zu diesem Test @Test @DisplayName("display should show the same digit after pressing 'equals'") void calculatorCanDoSevenEquals() { From 6e2d7139afc72f08f474b4f3d8e6938c58e7203a Mon Sep 17 00:00:00 2001 From: Admin Date: Sat, 31 Oct 2020 23:05:24 +0100 Subject: [PATCH 5/6] 4. weiterer neuer roter Test --- src/test/java/tdd/setup/CalculatorTest.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 2a491d0..76e92c4 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -16,15 +16,18 @@ void calculatorCanDoTwoPlusTwo() { calc.pressEquals(); assertEquals("4", calc.readScreen()); } -// Fix zu diesem Test @Test - @DisplayName("display should show the same digit after pressing 'equals'") - void calculatorCanDoSevenEquals() { + @DisplayName("display should show String 'Error' after pressing 'equals'") + void calculatorCanDivideFourByZeroEquals() { Calculator calc = new Calculator(); - calc.pressDigitKey(7); + calc.pressDigitKey(4); + calc.pressOperationKey("/"); + calc.pressDigitKey(0); calc.pressEquals(); - assertEquals("7", calc.readScreen()); + assertEquals("Error", calc.readScreen()); + } + + - } }; From ecb92f7c481a6f2dc7943170820b3de2dbd3ebbc Mon Sep 17 00:00:00 2001 From: Admin Date: Sat, 31 Oct 2020 23:11:42 +0100 Subject: [PATCH 6/6] 4. weiterer neuer roter Test --- src/main/java/tdd/setup/Calculator.java | 11 ++++++++--- src/test/java/tdd/setup/CalculatorTest.java | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index 8374cd6..5645456 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -9,8 +9,14 @@ public class Calculator { private String latestOperation = ""; + // 5. Fix zu diesem Test + public String readScreen() { + if ( Double.parseDouble(screen) == -1 ) { + screen = "Error"; + } return screen; + } public void pressDigitKey(int digit) { if(digit > 9 || digit < 0) throw new IllegalArgumentException(); @@ -44,12 +50,11 @@ public void pressNegative() { public void pressEquals() { var result = switch(latestOperation) { - // Fix zu diesem Test - case "" -> Double.parseDouble(screen); + case "+" -> latestValue + Double.parseDouble(screen); case "-" -> latestValue - Double.parseDouble(screen); case "x" -> latestValue * Double.parseDouble(screen); - case "/" -> latestValue / Double.parseDouble(screen); + case "/" -> ( Double.parseDouble(screen) == 0 ) ? -1 : 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 76e92c4..eac09ac 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -26,7 +26,7 @@ void calculatorCanDivideFourByZeroEquals() { calc.pressEquals(); assertEquals("Error", calc.readScreen()); } - +// 5. Fix zu diesem Test PASSED