This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
JRummikub/test/jrummikub/control/ApplicationControlTest.java
Ida Massow aca4b25210 Tests für die Control Klasse, jetzt zu 91.9 Prozent abgedeckt
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@601 72836036-5685-4462-b002-a69064685172
2011-07-02 12:21:10 +02:00

136 lines
3.7 KiB
Java

package jrummikub.control;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import jrummikub.util.LoginData;
import jrummikub.view.IQuitWarningPanel.QuitMode;
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();
view.getPlayerPanel().pauseEvent.emit();
// assertTrue(view.isPaused);
}
/** */
@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();
// TODO asserte was
}
/** */
@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);
}
}