git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@607 72836036-5685-4462-b002-a69064685172
150 lines
4.1 KiB
Java
150 lines
4.1 KiB
Java
package jrummikub.control;
|
|
|
|
import static org.junit.Assert.*;
|
|
import jrummikub.util.LoginData;
|
|
import jrummikub.view.IQuitWarningPanel.QuitMode;
|
|
import jrummikub.view.IView.BottomPanelType;
|
|
import jrummikub.view.MockView;
|
|
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
|
|
/**
|
|
* Tests for the testable parts of the application control
|
|
*/
|
|
public class ApplicationControlTest {
|
|
ApplicationControl testAppControl;
|
|
MockView view;
|
|
|
|
/** */
|
|
@Before
|
|
public void setup() {
|
|
view = new MockView();
|
|
}
|
|
|
|
/** */
|
|
@Test
|
|
public void enableSaving() {
|
|
assertFalse(view.savingEnabled);
|
|
testAppControl = new ApplicationControl(view);
|
|
testAppControl.startApplication();
|
|
assertTrue(view.isSettingsPanelVisible);
|
|
view.settingsPanel.startGameEvent.emit();
|
|
assertFalse(view.isSettingsPanelVisible);
|
|
assertTrue(view.savingEnabled);
|
|
}
|
|
|
|
/** */
|
|
@Test
|
|
public void pauseTest() {
|
|
testAppControl = new ApplicationControl(view);
|
|
testAppControl.startApplication();
|
|
view.settingsPanel.startGameEvent.emit();
|
|
assertSame(BottomPanelType.START_TURN_PANEL, view.bottomPanelType);
|
|
view.startTurnEvent.emit();
|
|
assertSame(BottomPanelType.HUMAN_HAND_PANEL, view.bottomPanelType);
|
|
view.pauseEvent.emit();
|
|
assertTrue(view.pauseModeEnabled);
|
|
}
|
|
|
|
/** */
|
|
@Test
|
|
public void quitWarningTest() {
|
|
testAppControl = new ApplicationControl(view);
|
|
testAppControl.startApplication();
|
|
view.settingsPanel.startGameEvent.emit();
|
|
view.quitEvent.emit();
|
|
assertSame(QuitMode.QUIT_PROCESS, view.quitWarningPanel.quitMode);
|
|
assertTrue(view.isQuitWarningPanelVisible);
|
|
}
|
|
|
|
/** */
|
|
@Test
|
|
public void networkTest() {
|
|
testAppControl = new ApplicationControl(view);
|
|
testAppControl.startApplication();
|
|
|
|
view.networkGameEvent.emit();
|
|
assertTrue(view.isLoginPanelVisible);
|
|
}
|
|
|
|
/** */
|
|
@Test
|
|
public void networkFromRunningGameTest() {
|
|
testAppControl = new ApplicationControl(view);
|
|
testAppControl.startApplication();
|
|
view.settingsPanel.startGameEvent.emit();
|
|
|
|
view.networkGameEvent.emit();
|
|
assertTrue(view.isQuitWarningPanelVisible);
|
|
assertSame(QuitMode.QUIT_GAME, view.getQuitWarningPanel().getQuitMode());
|
|
view.getQuitWarningPanel().quitEvent.emit();
|
|
assertTrue(view.isLoginPanelVisible);
|
|
}
|
|
|
|
/** */
|
|
@Test
|
|
public void newGameFromNetworkTest() {
|
|
testAppControl = new ApplicationControl(view);
|
|
testAppControl.startApplication();
|
|
|
|
view.networkGameEvent.emit();
|
|
assertTrue(view.isLoginPanelVisible);
|
|
|
|
LoginData data = new LoginData("Horst", "server", "horstspw", "channel");
|
|
view.loginPanel.loginEvent.emit(data);
|
|
assertTrue(view.isConnectPanelVisible);
|
|
view.menuNewGameEvent.emit();
|
|
assertTrue(view.isQuitWarningPanelVisible);
|
|
assertSame(QuitMode.QUIT_GAME, view.getQuitWarningPanel().getQuitMode());
|
|
view.getQuitWarningPanel().quitEvent.emit();
|
|
|
|
assertFalse(view.isConnectPanelVisible);
|
|
assertTrue(view.isSettingsPanelVisible);
|
|
}
|
|
|
|
/** */
|
|
@Test
|
|
public void loadTest() {
|
|
testAppControl = new ApplicationControl(view);
|
|
testAppControl.startApplication();
|
|
|
|
view.loadEvent.emit();
|
|
assertFalse(view.isQuitWarningPanelVisible);
|
|
}
|
|
|
|
/** */
|
|
@Test
|
|
public void loadFromRunningGameTest() {
|
|
testAppControl = new ApplicationControl(view);
|
|
testAppControl.startApplication();
|
|
view.settingsPanel.startGameEvent.emit();
|
|
|
|
view.loadEvent.emit();
|
|
assertTrue(view.isQuitWarningPanelVisible);
|
|
assertSame(QuitMode.QUIT_GAME, view.getQuitWarningPanel().getQuitMode());
|
|
view.getQuitWarningPanel().quitEvent.emit();
|
|
assertFalse(view.isQuitWarningPanelVisible);
|
|
assertTrue(view.loadCalled);
|
|
}
|
|
|
|
/** */
|
|
@Test
|
|
public void newGameFromRunningGameTest() {
|
|
testAppControl = new ApplicationControl(view);
|
|
testAppControl.startApplication();
|
|
view.settingsPanel.startGameEvent.emit();
|
|
|
|
view.menuNewGameEvent.emit();
|
|
assertTrue(view.isQuitWarningPanelVisible);
|
|
assertSame(QuitMode.QUIT_GAME, view.getQuitWarningPanel().getQuitMode());
|
|
view.getQuitWarningPanel().cancelEvent.emit();
|
|
assertFalse(view.isQuitWarningPanelVisible);
|
|
|
|
view.menuNewGameEvent.emit();
|
|
assertTrue(view.isQuitWarningPanelVisible);
|
|
assertSame(QuitMode.QUIT_GAME, view.getQuitWarningPanel().getQuitMode());
|
|
view.getQuitWarningPanel().quitEvent.emit();
|
|
assertTrue(view.isSettingsPanelVisible);
|
|
}
|
|
}
|