Skip to content
Snippets Groups Projects
UserInterfaceTest.java 2.48 KiB
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 ");
    }
}