diff options
Diffstat (limited to 'test/jrummikub/control/LoginControlTest.java')
-rw-r--r-- | test/jrummikub/control/LoginControlTest.java | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/test/jrummikub/control/LoginControlTest.java b/test/jrummikub/control/LoginControlTest.java new file mode 100644 index 0000000..946b143 --- /dev/null +++ b/test/jrummikub/control/LoginControlTest.java @@ -0,0 +1,71 @@ +package jrummikub.control; + +import static org.junit.Assert.*; +import jrummikub.control.LoginControl; +import jrummikub.util.IListener; +import jrummikub.util.IListener3; +import jrummikub.view.MockView; + +import org.junit.Before; +import org.junit.Test; + +/** */ +public class LoginControlTest { + MockView view; + LoginControl loginControl; + boolean handled = false; + + /** */ + @Before + public void setup() { + view = new MockView(); + loginControl = new LoginControl(view); + loginControl.startLogin(); + } + + /** */ + @Test + public void panelVisibleTest() { + assertFalse(view.isSettingsPanelVisible); + assertTrue(view.isLoginPanelVisible); + assertFalse(view.isScorePanelVisible); + } + + /** */ + @Test + public void loginEventTest() { + loginControl.getLoginEvent().add( + new IListener3<String, String, String>() { + @Override + public void handle(String value1, String value2, + String value3) { + assertEquals("a", value1); + assertEquals("b", value2); + assertEquals("c", value3); + handled = true; + } + }); + view.loginPanel.loginEvent.emit("a", "b", "c"); + assertTrue(handled); + assertFalse(view.isLoginPanelVisible); + assertFalse(view.isScorePanelVisible); + assertFalse(view.isSettingsPanelVisible); + } + + /** */ + @Test + public void cancelEventTest() { + loginControl.getCancelEvent().add(new IListener() { + @Override + public void handle() { + handled = true; + } + }); + view.loginPanel.cancelEvent.emit(); + assertTrue(handled); + assertFalse(view.isLoginPanelVisible); + assertFalse(view.isScorePanelVisible); + assertFalse(view.isSettingsPanelVisible); + + } +} |