From 51568a7052281e63e9062121011e1cf79f28cbc9 Mon Sep 17 00:00:00 2001 From: aktuerkaliya Date: Sun, 3 Nov 2024 19:55:34 +0100 Subject: [PATCH 1/3] =?UTF-8?q?gr=C3=BCner=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/htw/berlin/prog2/ha1/CalculatorTest.java | 13 +++++++++++++ 1 file changed, 13 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 ddff0da..ccd788c 100644 --- a/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java +++ b/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java @@ -90,5 +90,18 @@ void testMultipleDecimalDots() { //TODO hier weitere Tests erstellen + @Test + @DisplayName("should repeat last operation if equals key is pressed again") + void testClearkey() { + Calculator calc = new Calculator(); + + calc.pressDigitKey(1); + calc.pressBinaryOperationKey("+"); + calc.pressDigitKey(1); + calc.pressEqualsKey(); + assertEquals("2", calc.readScreen()); + calc.pressEqualsKey(); + assertEquals("3", calc.readScreen()); + } } From 93a6f757bc1075a9bb375026b1903d253f5f39cd Mon Sep 17 00:00:00 2001 From: aktuerkaliya Date: Sun, 3 Nov 2024 19:57:10 +0100 Subject: [PATCH 2/3] rote tests --- .../htw/berlin/prog2/ha1/CalculatorTest.java | 31 +++++++++++++++++++ 1 file changed, 31 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 ccd788c..4b8bf54 100644 --- a/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java +++ b/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java @@ -103,5 +103,36 @@ void testClearkey() { calc.pressEqualsKey(); assertEquals("3", calc.readScreen()); } + + @Test + @DisplayName("should clear the screen after pressing the clear key") + void testClearKey() { + Calculator calc = new Calculator(); + calc.pressDigitKey(5); + calc.pressBinaryOperationKey("+"); + calc.pressDigitKey(6); + calc.pressClearKey(); + calc.pressBinaryOperationKey("+"); + calc.pressDigitKey(7); + calc.pressEqualsKey(); + String expected = "12"; + String actual = calc.readScreen(); + + assertEquals(expected, actual); + } + + @Test + @DisplayName("Should display the intermediate result when an operation is performed multiple times.") + void testIntermediateResult() { + Calculator calc = new Calculator(); + calc.pressDigitKey(5); + calc.pressBinaryOperationKey("+"); + calc.pressDigitKey(5); + calc.pressBinaryOperationKey("+"); + String expected = "10"; + String actual = calc.readScreen(); + + assertEquals(expected, actual); + } } From 78976bdba773df2216bb761b8ecce1d56f79a24c Mon Sep 17 00:00:00 2001 From: aktuerkaliya Date: Sun, 3 Nov 2024 20:01:24 +0100 Subject: [PATCH 3/3] bug fixes --- .../main/java/htw/berlin/prog2/ha1/Calculator.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) 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 84c04f2..dd88834 100644 --- a/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java +++ b/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java @@ -45,9 +45,14 @@ public void pressDigitKey(int digit) { * im Ursprungszustand ist. */ public void pressClearKey() { - screen = "0"; - latestOperation = ""; - latestValue = 0.0; + + if (!screen.equals ("0") && latestValue != 0){ + screen = "0"; + } else { + screen = "0"; + latestOperation = ""; + latestValue = 0.0; + } } /** @@ -60,6 +65,9 @@ public void pressClearKey() { * @param operation "+" für Addition, "-" für Substraktion, "x" für Multiplikation, "/" für Division */ public void pressBinaryOperationKey(String operation) { + if (!latestOperation.equals("")){ + pressEqualsKey(); + } latestValue = Double.parseDouble(screen); latestOperation = operation; }