From daedeff5ddf7a2e83512a28f917362f780025769 Mon Sep 17 00:00:00 2001 From: rober Date: Wed, 27 Oct 2021 18:45:45 +0200 Subject: [PATCH 1/4] Test for working functionality --- .../htw/berlin/prog2/ha1/CalculatorTest.java | 28 +++++++++++++++++++ 1 file changed, 28 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 addc5f26..96bfb3ad 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,34 @@ void testSquareRoot() { assertEquals(expected, actual); } + @Test + @DisplayName("should display result of two decimal numbers multiplied") + void testMultiplicationOfDecimalNumbers() { + Calculator calc = new Calculator(); + + calc.pressDigitKey(1); + calc.pressDotKey(); + calc.pressDigitKey(5); + calc.pressBinaryOperationKey("x"); + calc.pressDigitKey(6); + calc.pressDotKey(); + calc.pressDigitKey(2); + calc.pressEqualsKey(); + + String expected = "9.3"; + String actual = calc.readScreen(); + + assertEquals(expected, actual); + + } + + + + + + + + //TODO hier weitere Tests erstellen } From fe1d63c333122630a820c860e52e504cd508c3f1 Mon Sep 17 00:00:00 2001 From: rober Date: Wed, 27 Oct 2021 18:52:39 +0200 Subject: [PATCH 2/4] Test for working functionality --- app/src/main/java/htw/berlin/prog2/ha1/Calculator.java | 6 ++++++ app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java | 1 + 2 files changed, 7 insertions(+) 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..a33e0224 100644 --- a/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java +++ b/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java @@ -33,6 +33,8 @@ public void pressDigitKey(int digit) { if(screen.equals("0") || latestValue == Double.parseDouble(screen)) screen = ""; + + screen = screen + digit; } @@ -62,6 +64,8 @@ public void pressClearKey() { public void pressBinaryOperationKey(String operation) { latestValue = Double.parseDouble(screen); latestOperation = operation; + + } /** @@ -127,5 +131,7 @@ 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); + + } } 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 96bfb3ad..6935cf86 100644 --- a/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java +++ b/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java @@ -59,6 +59,7 @@ void testMultiplicationOfDecimalNumbers() { assertEquals(expected, actual); + } From 7d649d89e45512235fdc04b9cfa71f7e063a14b7 Mon Sep 17 00:00:00 2001 From: rober Date: Wed, 27 Oct 2021 19:07:15 +0200 Subject: [PATCH 3/4] Tests for not working functionalities the calc should have --- .../java/htw/berlin/prog2/ha1/Calculator.java | 1 - .../htw/berlin/prog2/ha1/CalculatorTest.java | 35 +++++++++++++++++++ 2 files changed, 35 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 a33e0224..a5e2fd26 100644 --- a/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java +++ b/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java @@ -34,7 +34,6 @@ public void pressDigitKey(int digit) { if(screen.equals("0") || latestValue == Double.parseDouble(screen)) screen = ""; - screen = screen + digit; } 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 6935cf86..0a22f30b 100644 --- a/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java +++ b/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java @@ -62,6 +62,41 @@ void testMultiplicationOfDecimalNumbers() { } + @Test + @DisplayName("should display result of division by zero") + void testDivisionByZero() { + Calculator calc = new Calculator(); + + calc.pressDigitKey(8); + calc.pressBinaryOperationKey("/"); + calc.pressDigitKey(0); + calc.pressEqualsKey(); + + + String expected = "Error"; + String actual = calc.readScreen(); + + assertEquals(expected, actual); + } + + @Test + @DisplayName("should display result of two negative numbers subtracted") + void testSubtractionOfNegativeNumbers() { + Calculator calc = new Calculator(); + + calc.pressBinaryOperationKey("-"); + calc.pressDigitKey(6); + calc.pressBinaryOperationKey("-"); + calc.pressDigitKey(7); + calc.pressEqualsKey(); + + + String expected = "-13"; + String actual = calc.readScreen(); + + assertEquals(expected, actual); + } + From 0a52f48e97aa1d23a17542c33334e8579cc6c5d8 Mon Sep 17 00:00:00 2001 From: rober Date: Wed, 27 Oct 2021 19:11:41 +0200 Subject: [PATCH 4/4] Implemented Bugfixes for red tests --- app/src/main/java/htw/berlin/prog2/ha1/Calculator.java | 4 ++++ app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java | 1 + 2 files changed, 5 insertions(+) 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 a5e2fd26..a082b4af 100644 --- a/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java +++ b/app/src/main/java/htw/berlin/prog2/ha1/Calculator.java @@ -33,6 +33,9 @@ public void pressDigitKey(int digit) { if(screen.equals("0") || latestValue == Double.parseDouble(screen)) screen = ""; + if(latestOperation == "-" && latestValue == 0){ + digit = digit * -1; + } screen = screen + digit; } @@ -130,6 +133,7 @@ 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"); } 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 0a22f30b..08506574 100644 --- a/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java +++ b/app/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java @@ -104,6 +104,7 @@ void testSubtractionOfNegativeNumbers() { + //TODO hier weitere Tests erstellen }