diff --git a/src/main/java/fr/nancy/iut/CalcEngine.java b/src/main/java/fr/nancy/iut/CalcEngine.java index fab193469f8db50f879173b2cbea9f8a0e1e755b..bf72af2f6d02ef3c587cdc6acc69c3caf6e4edc8 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 ddc97b896747c013094b0210de35d8a2f08fb867..1ab7bd3d9320adc3c0af4d46858080d341a71944 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()); + } }