From dbedf38ff1cf9c90e235606be3737be0a93141db Mon Sep 17 00:00:00 2001 From: Ferdy Jonathan Date: Thu, 21 Oct 2021 17:27:24 +0200 Subject: [PATCH 1/5] =?UTF-8?q?Teilaufgabe=201=20:=20neuer=20gr=C3=BCner?= =?UTF-8?q?=20Test=20(=20testClearKey=20)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- .../java/htw/berlin/prog2/ha1/CalculatorTest.java | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ca0f7ebb..6fbb5b5f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Hausaufgabe 1 + # Hausaufgabe 1 Deadline für Abgabe per Pull Request: 24.10.2021 23:59 Uhr bzw. 27.10.2021 23:59 Uhr je nach dem in welcher Übungsgruppe Sie eingeschrieben sind. diff --git a/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java b/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java index addc5f26..34058d0d 100644 --- a/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java +++ b/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java @@ -40,6 +40,18 @@ void testSquareRoot() { assertEquals(expected, actual); } - //TODO hier weitere Tests erstellen + @Test + @DisplayName("should clear the screen and set into the default value (0)") + void testClearKey() { + Calculator calc = new Calculator(); + + calc.pressDigitKey(5); + calc.pressClearKey(); + + String expected = "0"; + String actual = calc.readScreen(); + + assertEquals(expected, actual); + } } From 8a9445bd46e939038c3c5645a48241ab33111170 Mon Sep 17 00:00:00 2001 From: Ferdy Jonathan Date: Thu, 21 Oct 2021 18:46:09 +0200 Subject: [PATCH 2/5] Teilaufgabe 2 : neuer roter Test --- .../htw/berlin/prog2/ha1/CalculatorTest.java | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java b/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java index 34058d0d..4f2ceea7 100644 --- a/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java +++ b/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java @@ -53,5 +53,33 @@ void testClearKey() { assertEquals(expected, actual); } -} + @Test + @DisplayName("should display Error after dividing number 1 with 0") + void testDivisionWithZero() { + Calculator calc = new Calculator(); + + calc.pressDigitKey(7); + calc.pressBinaryOperationKey("/"); + calc.pressDigitKey(0); + calc.pressEqualsKey(); + + String expected = "Error"; + String actual = calc.readScreen(); + + assertEquals(expected, actual); + } + + @Test + @DisplayName("should display Error after press inversion without press digit key") + void testPressInversionKey() { + Calculator calc = new Calculator(); + + calc.pressUnaryOperationKey("1/x"); + + String expected = "Error"; + String actual = calc.readScreen(); + + assertEquals(expected, actual); + } +} \ No newline at end of file From c22a978dec2f944d5d61d9b47e8601ef97b21e4f Mon Sep 17 00:00:00 2001 From: Ferdy Jonathan Date: Thu, 21 Oct 2021 18:50:15 +0200 Subject: [PATCH 3/5] Teilaufgabe 3 : Fix zu aufgabe 2 --- app/src/main/java/htw/berlin/prog2/ha1/Calculator.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java b/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java index aaef8862..550429e4 100644 --- a/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java +++ b/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java @@ -82,7 +82,9 @@ public void pressUnaryOperationKey(String operation) { }; screen = Double.toString(result); if(screen.contains(".") && screen.length() > 11) screen = screen.substring(0, 10); - + if(screen.contains("Infinity")) { + screen = "Error"; + } } /** @@ -127,5 +129,9 @@ public void pressEqualsKey() { screen = Double.toString(result); if(screen.endsWith(".0")) screen = screen.substring(0,screen.length()-2); if(screen.contains(".") && screen.length() > 11) screen = screen.substring(0, 10); + if(screen.contains("Infinity")) { + screen = "Error"; + } } + } From a0223f5fbbca96d269759d9432ba72c73a629f17 Mon Sep 17 00:00:00 2001 From: Ferdy Jonathan Date: Wed, 27 Oct 2021 17:01:22 +0200 Subject: [PATCH 4/5] Teilaufgabe 4 : weiteren neuen roter Test --- .../htw/berlin/prog2/ha1/CalculatorTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java b/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java index 4f2ceea7..75cc11ca 100644 --- a/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java +++ b/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java @@ -82,4 +82,20 @@ void testPressInversionKey() { assertEquals(expected, actual); } + + @Test + @DisplayName("should display decimal numbers on screen like 4.5 after pressing Equalskey") + void testPressDotkeyAndPressEqualskey() { + Calculator calc = new Calculator(); + + calc.pressDigitKey(4); + calc.pressDotKey(); + calc.pressDigitKey(5); + calc.pressEqualsKey(); + + String expected = "4.5"; + String actual = calc.readScreen(); + + assertEquals(expected, actual); + } } \ No newline at end of file From 4ec625b9b19c46bef0dc42c62674fd99b851e874 Mon Sep 17 00:00:00 2001 From: Ferdy Jonathan Date: Wed, 27 Oct 2021 17:02:09 +0200 Subject: [PATCH 5/5] Teilaufgabe 5 : fix zu Teilaufgabe 4 --- app/src/main/java/htw/berlin/prog2/ha1/Calculator.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java b/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java index 550429e4..1e8dcb32 100644 --- a/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java +++ b/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java @@ -124,6 +124,7 @@ public void pressEqualsKey() { case "-" -> latestValue - Double.parseDouble(screen); case "x" -> latestValue * Double.parseDouble(screen); case "/" -> latestValue / Double.parseDouble(screen); + case "" -> Double.parseDouble(screen); default -> throw new IllegalArgumentException(); }; screen = Double.toString(result);