From 0c17dedf48fe9412794f6d730256f5048957dd08 Mon Sep 17 00:00:00 2001 From: Hamiti97 Date: Wed, 28 Oct 2020 21:25:14 +0100 Subject: [PATCH 1/6] Green Test after trying to Subtracting two positive numbers --- src/test/java/tdd/setup/CalculatorTest.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 3bf16e9..0d96f15 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -17,3 +17,15 @@ void calculatorCanDoTwoPlusTwo() { assertEquals("4", calc.readScreen()); } } +class CalculatorTest2 { + @Test + @DisplayName("should display result after suctracting two positive numbers") + void calculatorCanDoThreeMinusTwo() { + Calculator calc = new Calculator(); + calc.pressDigitKey(3); + calc.pressOperationKey("-"); + calc.pressDigitKey(2); + calc.pressEquals(); + assertEquals("1", calc.readScreen()); + } +} \ No newline at end of file From ba77e6e2701f5d04ea656e5f1502c59b4ffb30b6 Mon Sep 17 00:00:00 2001 From: Hamiti97 Date: Wed, 28 Oct 2020 21:27:12 +0100 Subject: [PATCH 2/6] Red test after trying to show result from pressDigitKey --- src/test/java/tdd/setup/CalculatorTest.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 0d96f15..01d07b7 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -28,4 +28,13 @@ void calculatorCanDoThreeMinusTwo() { calc.pressEquals(); assertEquals("1", calc.readScreen()); } +} +class CalculatorTest3 { + @Test + @DisplayName("should display result after pressDigitKey") + void calculatorCanMulti() { + Calculator calc = new Calculator(); + calc.pressDigitKey(2); + assertEquals("2", calc.readScreen()); + } } \ No newline at end of file From 5982af98494b2f369903000e03b41bd75b421ae9 Mon Sep 17 00:00:00 2001 From: Hamiti97 Date: Wed, 28 Oct 2020 21:28:10 +0100 Subject: [PATCH 3/6] Green test after trying to show result from pressDigitKey --- 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 171f6d6..2d5aa12 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 a79f4bcafb8bdcea60458eb5b5a3678ad0c0127f Mon Sep 17 00:00:00 2001 From: Hamiti97 Date: Wed, 28 Oct 2020 22:09:55 +0100 Subject: [PATCH 4/6] Red test after trying to adding a normal positive number with a point positive number --- src/main/java/tdd/setup/Calculator.java | 2 ++ src/test/java/tdd/setup/CalculatorTest.java | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index 2d5aa12..ed69525 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -17,9 +17,11 @@ public void pressDigitKey(int digit) { if(latestOperation.isEmpty()) { screen = screen + digit; + } else { latestValue = Double.parseDouble(screen); screen = Integer.toString(digit); + } } diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 01d07b7..95327f9 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -37,4 +37,18 @@ void calculatorCanMulti() { calc.pressDigitKey(2); assertEquals("2", calc.readScreen()); } +} +class CalculatorTest4 { + @Test + @DisplayName("should display result after adding two positive point numbers") + void calculatorCanDoTwoPlusTwo() { + Calculator calc = new Calculator(); + calc.pressDigitKey(2); + calc.pressOperationKey("+"); + calc.pressDigitKey(3); + calc.pressDotKey(); + calc.pressDigitKey(4); + calc.pressEquals(); + assertEquals("6.3", calc.readScreen()); + } } \ No newline at end of file From b8b71bc1fc4f43a99013ca9c9e52de0d6697933e Mon Sep 17 00:00:00 2001 From: Hamiti97 Date: Thu, 29 Oct 2020 14:34:27 +0100 Subject: [PATCH 5/6] Green Test After trying to adding two positive point numbers --- src/main/java/tdd/setup/Calculator.java | 19 ++++++++++++------- src/test/java/tdd/setup/CalculatorTest.java | 18 +++++++++++++++++- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index ed69525..02e7d43 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -7,6 +7,10 @@ public class Calculator { private double latestValue; + private double firstValue; + + private double secondValue; + private String latestOperation = ""; public String readScreen() { @@ -17,13 +21,14 @@ public void pressDigitKey(int digit) { if(latestOperation.isEmpty()) { screen = screen + digit; - - } else { - latestValue = Double.parseDouble(screen); - screen = Integer.toString(digit); - + firstValue = Double.parseDouble(screen); + } + else { + latestValue = Double.parseDouble(screen); + secondValue = Double.parseDouble(screen+digit); + screen = Integer.toString(digit); + } } - } public void pressClearKey() { screen = "0"; @@ -45,7 +50,7 @@ public void pressNegative() { public void pressEquals() { var result = switch(latestOperation) { - case "+" -> latestValue + Double.parseDouble(screen); + case "+" -> secondValue + firstValue; //secondValue => 3,4 & 22 sollte sein => 3,4 & 2 case "-" -> latestValue - Double.parseDouble(screen); case "x" -> latestValue * Double.parseDouble(screen); case "/" -> latestValue / Double.parseDouble(screen); diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 95327f9..4c280b1 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -49,6 +49,22 @@ void calculatorCanDoTwoPlusTwo() { calc.pressDotKey(); calc.pressDigitKey(4); calc.pressEquals(); + assertEquals("5.4", calc.readScreen()); + } +} +/*class CalculatorTest5 { + @Test + @DisplayName("should display result after adding two positive point numbers") + void calculatorCanDoTwoPlusTwo() { + Calculator calc = new Calculator(); + calc.pressDigitKey(2); + calc.pressDotKey(); + calc.pressDigitKey(3); + calc.pressOperationKey("+"); + calc.pressDigitKey(4); + calc.pressEquals(); assertEquals("6.3", calc.readScreen()); } -} \ No newline at end of file +} + + */ \ No newline at end of file From 84ac7d312ff0f3e8dfe98432961b01b7aa0cb889 Mon Sep 17 00:00:00 2001 From: Hamiti97 Date: Thu, 29 Oct 2020 19:10:54 +0100 Subject: [PATCH 6/6] Green test after trying to adding two positive point numbers --- src/main/java/tdd/setup/Calculator.java | 14 ++++++++++---- src/test/java/tdd/setup/CalculatorTest.java | 17 +---------------- 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/src/main/java/tdd/setup/Calculator.java b/src/main/java/tdd/setup/Calculator.java index 02e7d43..4d92964 100644 --- a/src/main/java/tdd/setup/Calculator.java +++ b/src/main/java/tdd/setup/Calculator.java @@ -10,6 +10,7 @@ public class Calculator { private double firstValue; private double secondValue; + private double thirdValue; private String latestOperation = ""; @@ -22,11 +23,16 @@ public void pressDigitKey(int digit) { if(latestOperation.isEmpty()) { screen = screen + digit; firstValue = Double.parseDouble(screen); + + } + if(!screen.contains(".")) { + latestValue = Double.parseDouble(screen); + screen = Integer.toString(digit); + } else { + screen = screen + digit; latestValue = Double.parseDouble(screen); - secondValue = Double.parseDouble(screen+digit); - screen = Integer.toString(digit); } } @@ -49,8 +55,8 @@ public void pressNegative() { } public void pressEquals() { - var result = switch(latestOperation) { - case "+" -> secondValue + firstValue; //secondValue => 3,4 & 22 sollte sein => 3,4 & 2 + var result = switch(latestOperation){ + case "+" -> firstValue + Double.parseDouble(screen); case "-" -> latestValue - Double.parseDouble(screen); case "x" -> latestValue * Double.parseDouble(screen); case "/" -> latestValue / Double.parseDouble(screen); diff --git a/src/test/java/tdd/setup/CalculatorTest.java b/src/test/java/tdd/setup/CalculatorTest.java index 4c280b1..b6bf4eb 100644 --- a/src/test/java/tdd/setup/CalculatorTest.java +++ b/src/test/java/tdd/setup/CalculatorTest.java @@ -19,7 +19,7 @@ void calculatorCanDoTwoPlusTwo() { } class CalculatorTest2 { @Test - @DisplayName("should display result after suctracting two positive numbers") + @DisplayName("should display result after subtracting two positive numbers") void calculatorCanDoThreeMinusTwo() { Calculator calc = new Calculator(); calc.pressDigitKey(3); @@ -52,19 +52,4 @@ void calculatorCanDoTwoPlusTwo() { assertEquals("5.4", calc.readScreen()); } } -/*class CalculatorTest5 { - @Test - @DisplayName("should display result after adding two positive point numbers") - void calculatorCanDoTwoPlusTwo() { - Calculator calc = new Calculator(); - calc.pressDigitKey(2); - calc.pressDotKey(); - calc.pressDigitKey(3); - calc.pressOperationKey("+"); - calc.pressDigitKey(4); - calc.pressEquals(); - assertEquals("6.3", calc.readScreen()); - } -} - */ \ No newline at end of file