diff --git a/src/main/java/fr/nancy/iut/CalcEngine.java b/src/main/java/fr/nancy/iut/CalcEngine.java index 14bc40d97f4b0cccda0346dbf1f976bd825c6209..3ab5436aaca381700879eb1f76cc38868ea5a85d 100755 --- a/src/main/java/fr/nancy/iut/CalcEngine.java +++ b/src/main/java/fr/nancy/iut/CalcEngine.java @@ -72,10 +72,11 @@ public class CalcEngine if (previousOperator == '+') { displayValue = leftOperand + displayValue; } - else { + else if (previousOperator == '-') { displayValue = leftOperand - displayValue; } leftOperand = 0; + previousOperator = '='; } /** diff --git a/src/test/java/fr/nancy/iut/CalculatorTest.java b/src/test/java/fr/nancy/iut/CalculatorTest.java new file mode 100644 index 0000000000000000000000000000000000000000..0ed5fdd5a8adfde0dd1d4590b535a70665486eaa --- /dev/null +++ b/src/test/java/fr/nancy/iut/CalculatorTest.java @@ -0,0 +1,27 @@ +package fr.nancy.iut; + +import org.junit.jupiter.api.Test; + +import java.util.function.BooleanSupplier; + +import static org.junit.jupiter.api.Assertions.*; + +public class CalculatorTest +{ + @Test + public void testCalculator() + { + Calculator calculator = new Calculator(); + assertEquals(0, calculator.getEngine().getDisplayValue()); + // regarde si le GUI est existant + assertTrue(calculator.getGui().getVisible()); + } + + @Test + public void testShow() + { + Calculator calculator = new Calculator(); + calculator.show(); + assertTrue(calculator.getGui().getVisible()); + } +} diff --git a/src/test/java/fr/nancy/iut/UserInterfaceTest.java b/src/test/java/fr/nancy/iut/UserInterfaceTest.java new file mode 100644 index 0000000000000000000000000000000000000000..d0d549f20e83ab0d161c38940398ac31fa800e1b --- /dev/null +++ b/src/test/java/fr/nancy/iut/UserInterfaceTest.java @@ -0,0 +1,105 @@ +package fr.nancy.iut; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class UserInterfaceTest +{ + @Test + public void testUserInterface() + { + CalcEngine calcEngine = new CalcEngine(); + UserInterface userInterface = new UserInterface(calcEngine); + assertTrue(userInterface.getVisible()); + } + + @Test + public void testGetVisible() + { + CalcEngine calcEngine = new CalcEngine(); + UserInterface userInterface = new UserInterface(calcEngine); + assertTrue(userInterface.getVisible()); + } + + @Test + public void testSetVisible() + { + CalcEngine calcEngine = new CalcEngine(); + UserInterface userInterface = new UserInterface(calcEngine); + userInterface.setVisible(true); + assertTrue(userInterface.getVisible()); + } + + @Test + public void testGetDisplay() + { + CalcEngine calcEngine = new CalcEngine(); + UserInterface userInterface = new UserInterface(calcEngine); + assertEquals("", userInterface.getDisplay().getText()); + } + + @Test + public void testSetDisplay() + { + CalcEngine calcEngine = new CalcEngine(); + UserInterface userInterface = new UserInterface(calcEngine); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "0")); + assertEquals("0", userInterface.getDisplay().getText()); + } + + @Test + public void testNombres() + { + CalcEngine calcEngine = new CalcEngine(); + UserInterface userInterface = new UserInterface(calcEngine); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "0")); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "1")); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "2")); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "3")); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "4")); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "5")); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "6")); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "7")); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "8")); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "9")); + assertEquals("123456789", userInterface.getDisplay().getText()); + } + + @Test + public void testOperateurs() + { + CalcEngine calcEngine = new CalcEngine(); + UserInterface userInterface = new UserInterface(calcEngine); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "+")); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "-")); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "*")); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "/")); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "=")); + assertEquals("0", userInterface.getDisplay().getText()); + } + + @Test + public void testClear() + { + CalcEngine calcEngine = new CalcEngine(); + UserInterface userInterface = new UserInterface(calcEngine); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "C")); + assertEquals("0", userInterface.getDisplay().getText()); + } + + @Test + public void testInterogation() + { + CalcEngine calcEngine = new CalcEngine(); + UserInterface userInterface = new UserInterface(calcEngine); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "?")); + assertEquals("0", userInterface.getDisplay().getText()); + assertEquals(calcEngine.getVersion(), userInterface.getStatus().getText()); + userInterface.actionPerformed(new java.awt.event.ActionEvent(userInterface, 0, "?")); + assertEquals(calcEngine.getAuthor(), userInterface.getStatus().getText()); + } + + +}