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..91dbd6e0d8749f971e7f904b9ef8f80775a6c585 --- /dev/null +++ b/src/test/java/fr/nancy/iut/UserInterfaceTest.java @@ -0,0 +1,64 @@ +package fr.nancy.iut; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +public class UserInterfaceTest +{ + @Test + public void testConstructor() + { + UserInterface ui = new UserInterface(new CalcEngine()); + assertTrue(ui.isVisible(), "User interface should be visible"); + } + + @Test + public void testSetVisible() + { + UserInterface ui = new UserInterface(new CalcEngine()); + ui.setVisible(false); + assertFalse(ui.isVisible(), "User interface should not be visible"); + } + + @Test + public void testActionPerformed() + { + UserInterface ui = new UserInterface(new CalcEngine()); + + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "0")); + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "1")); + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "2")); + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "3")); + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "4")); + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "5")); + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "6")); + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "7")); + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "8")); + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "9")); + + assertEquals("123456789", ui.getDisplay().getText(), "Display should be 0123456789"); + + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "C")); + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "+")); + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "-")); + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "*")); + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "/")); + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "=")); + + assertEquals("0", ui.getDisplay().getText(), "Display should be 0 because of C button"); + } + + @Test + public void testShowInfo() + { + CalcEngine engine = new CalcEngine(); + UserInterface ui = new UserInterface(engine); + + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "?")); + assertEquals("version 0.2", ui.getStatus().getText(), "Status should be the version of the calculator"); + + ui.actionPerformed(new java.awt.event.ActionEvent(ui, 0, "?")); + assertEquals("Hacker T. Largebrain", ui.getStatus().getText(), "Status should be "); + } +}