From c05d208e39dd8b5b021fbd1ca5a63b59dcdbf884 Mon Sep 17 00:00:00 2001 From: Laurent Pierron <Laurent.Pierron@inria.fr> Date: Sun, 29 Jan 2023 20:11:49 +0100 Subject: [PATCH] Adding multiplication. --- src/main/java/fr/nancy/iut/CalcEngine.java | 13 +++++++++++++ src/test/java/fr/nancy/iut/CalcEngineTest.java | 14 ++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/src/main/java/fr/nancy/iut/CalcEngine.java b/src/main/java/fr/nancy/iut/CalcEngine.java index fab1934..bf72af2 100755 --- a/src/main/java/fr/nancy/iut/CalcEngine.java +++ b/src/main/java/fr/nancy/iut/CalcEngine.java @@ -81,6 +81,14 @@ public class CalcEngine applyOperator('-'); } + /** + * The '*' button was pressed. + */ + public void multiply() + { + applyOperator('*'); + } + /** * The '=' button was pressed. */ @@ -156,6 +164,11 @@ public class CalcEngine haveLeftOperand = true; leftOperand = displayValue; } + case '*' -> { + displayValue = leftOperand * displayValue; + haveLeftOperand = true; + leftOperand = displayValue; + } default -> keySequenceError(); } } diff --git a/src/test/java/fr/nancy/iut/CalcEngineTest.java b/src/test/java/fr/nancy/iut/CalcEngineTest.java index ddc97b8..1ab7bd3 100644 --- a/src/test/java/fr/nancy/iut/CalcEngineTest.java +++ b/src/test/java/fr/nancy/iut/CalcEngineTest.java @@ -91,4 +91,18 @@ class CalcEngineTest { // Return the result, which should be 5. assertEquals(5, engine.getDisplayValue()); } + + @Test + @DisplayName("Testing the multiply operation : 9 * 4 = 36") + void testMultiply() { + // Make sure the engine is in a valid starting state. + engine.clear(); + // Simulate the presses: 9 - 4 = + engine.numberPressed(9); + engine.multiply(); + engine.numberPressed(4); + engine.equals(); + // Return the result, which should be 5. + assertEquals(36, engine.getDisplayValue()); + } } -- GitLab