summaryrefslogtreecommitdiffstats
path: root/test/jrummikub/control/SettingsControlTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/jrummikub/control/SettingsControlTest.java')
-rw-r--r--test/jrummikub/control/SettingsControlTest.java192
1 files changed, 166 insertions, 26 deletions
diff --git a/test/jrummikub/control/SettingsControlTest.java b/test/jrummikub/control/SettingsControlTest.java
index cb527d2..72ac1b6 100644
--- a/test/jrummikub/control/SettingsControlTest.java
+++ b/test/jrummikub/control/SettingsControlTest.java
@@ -28,7 +28,6 @@ public class SettingsControlTest {
@Before
public void setup() {
settingsControl.getStartGameEvent().add(new IListener1<GameSettings>() {
-
@Override
public void handle(GameSettings value) {
gameSettings = value;
@@ -41,29 +40,30 @@ public class SettingsControlTest {
/** */
@Test
public void initialStateTest() {
- assertSame(ISettingsPanel.SettingsError.NO_ERROR, view.settingsPanel.error);
+ assertSame(ISettingsPanel.SettingsError.NO_ERROR,
+ view.settingsPanel.error);
+ for (Boolean enabled : view.settingsPanel.removePlayerButtonsEnabled) {
+ assertFalse(enabled);
+ }
+
view.settingsPanel.startGameEvent.emit();
assertNotNull(gameSettings);
assertEquals(2, gameSettings.getPlayerList().size());
assertEquals(2, view.settingsPanel.removePlayerButtonsEnabled.size());
-
- for (Boolean enabled : view.settingsPanel.removePlayerButtonsEnabled) {
- assertFalse(enabled);
- }
}
/** */
@Test
public void addPlayerTest() {
view.settingsPanel.addPlayerEvent.emit();
+ for (Boolean enabled : view.settingsPanel.removePlayerButtonsEnabled) {
+ assertTrue(enabled);
+ }
+
view.settingsPanel.startGameEvent.emit();
assertNotNull(gameSettings);
assertEquals(3, gameSettings.getPlayerList().size());
assertEquals(3, view.settingsPanel.removePlayerButtonsEnabled.size());
-
- for (Boolean enabled : view.settingsPanel.removePlayerButtonsEnabled) {
- assertTrue(enabled);
- }
}
/** */
@@ -73,15 +73,15 @@ public class SettingsControlTest {
view.settingsPanel.addPlayerEvent.emit();
}
view.settingsPanel.changeStoneSetNumberEvent.emit(8);
+ for (Boolean enabled : view.settingsPanel.removePlayerButtonsEnabled) {
+ assertTrue(enabled);
+ }
+ assertFalse(view.settingsPanel.addPlayerButtonEnabled);
+
view.settingsPanel.startGameEvent.emit();
assertNotNull(gameSettings);
assertEquals(16, gameSettings.getPlayerList().size());
assertEquals(16, view.settingsPanel.removePlayerButtonsEnabled.size());
- assertFalse(view.settingsPanel.addPlayerButtonEnabled);
-
- for (Boolean enabled : view.settingsPanel.removePlayerButtonsEnabled) {
- assertTrue(enabled);
- }
}
/** */
@@ -92,16 +92,15 @@ public class SettingsControlTest {
}
view.settingsPanel.removePlayerEvent.emit(0);
view.settingsPanel.changeStoneSetNumberEvent.emit(8);
+ for (Boolean enabled : view.settingsPanel.removePlayerButtonsEnabled) {
+ assertTrue(enabled);
+ }
+ assertTrue(view.settingsPanel.addPlayerButtonEnabled);
+
view.settingsPanel.startGameEvent.emit();
assertNotNull(gameSettings);
assertEquals(15, gameSettings.getPlayerList().size());
assertEquals(15, view.settingsPanel.removePlayerButtonsEnabled.size());
-
- assertTrue(view.settingsPanel.addPlayerButtonEnabled);
-
- for (Boolean enabled : view.settingsPanel.removePlayerButtonsEnabled) {
- assertTrue(enabled);
- }
}
/** */
@@ -109,14 +108,15 @@ public class SettingsControlTest {
public void removePlayerTest() {
view.settingsPanel.addPlayerEvent.emit();
view.settingsPanel.removePlayerEvent.emit(0);
+ for (Boolean enabled : view.settingsPanel.removePlayerButtonsEnabled) {
+ assertFalse(enabled);
+ }
+
view.settingsPanel.startGameEvent.emit();
+
assertNotNull(gameSettings);
assertEquals(2, gameSettings.getPlayerList().size());
assertEquals(2, view.settingsPanel.removePlayerButtonsEnabled.size());
-
- for (Boolean enabled : view.settingsPanel.removePlayerButtonsEnabled) {
- assertFalse(enabled);
- }
}
/** */
@@ -183,7 +183,8 @@ public class SettingsControlTest {
view.settingsPanel.changePlayerNameEvent.emit(1, name2);
assertTrue(view.settingsPanel.startButtonEnabled);
- assertSame(ISettingsPanel.SettingsError.NO_ERROR, view.settingsPanel.error);
+ assertSame(ISettingsPanel.SettingsError.NO_ERROR,
+ view.settingsPanel.error);
view.settingsPanel.startGameEvent.emit();
assertNotNull(gameSettings);
@@ -216,6 +217,20 @@ public class SettingsControlTest {
/** */
@Test
+ public void initialMeldWarningTest() {
+ assertEquals(initialSettings.getInitialMeldThreshold(),
+ view.settingsPanel.initialMeldThreshold);
+ view.settingsPanel.changeInitialMeldThresholdEvent.emit(900);
+ assertTrue(view.settingsPanel.startButtonEnabled);
+ assertSame(ISettingsPanel.SettingsError.TOO_HIGH_THRESHOLD_WARNING,
+ view.settingsPanel.error);
+
+ view.settingsPanel.startGameEvent.emit();
+ assertNotNull(gameSettings);
+ }
+
+ /** */
+ @Test
public void jokerNumberTest() {
assertEquals(initialSettings.getJokerNumber(),
view.settingsPanel.jokerNumber);
@@ -257,6 +272,39 @@ public class SettingsControlTest {
view.settingsPanel.startGameEvent.emit();
assertEquals(10, gameSettings.getHighestValue());
}
+
+ /** */
+ @Test
+ public void changeTurnTimeTest() {
+ assertEquals(initialSettings.getTotalTime(),
+ view.settingsPanel.totalTime);
+
+ view.settingsPanel.changeTimeEvent.emit(50);
+ view.settingsPanel.startGameEvent.emit();
+ assertEquals(50, gameSettings.getTotalTime());
+ }
+
+ /** */
+ @Test
+ public void changeNoLimitsTest() {
+ assertEquals(initialSettings.isNoLimits(),
+ view.settingsPanel.noLimits);
+
+ view.settingsPanel.changeNoLimitsEvent.emit(true);
+ view.settingsPanel.startGameEvent.emit();
+ assertEquals(true, gameSettings.isNoLimits());
+ }
+
+ /** */
+ @Test
+ public void changeSeeHandsTest() {
+ assertEquals(initialSettings.getSeeHandSize(),
+ view.settingsPanel.seeHandSize);
+
+ view.settingsPanel.changeSeeHandSizeEvent.emit(true);
+ view.settingsPanel.startGameEvent.emit();
+ assertEquals(true, gameSettings.getSeeHandSize());
+ }
/** */
@Test
@@ -270,6 +318,98 @@ public class SettingsControlTest {
assertEquals(new HashSet<StoneColor>(Arrays.asList(BLUE, RED, BLACK)),
gameSettings.getStoneColors());
}
+
+ /** */
+ @Test
+ public void notEnoghColorsErrorTest() {
+ assertEquals(initialSettings.getStoneColors(),
+ view.settingsPanel.stoneColors);
+
+ view.settingsPanel.changeStoneColorsEvent.emit(new HashSet<StoneColor>(
+ Arrays.asList(BLUE, RED)));
+ assertFalse(view.settingsPanel.startButtonEnabled);
+ assertSame(ISettingsPanel.SettingsError.NOT_ENOUGH_COLORS_ERROR,
+ view.settingsPanel.error);
+
+ view.settingsPanel.startGameEvent.emit();
+ assertNull(gameSettings);
+ }
+
+ /** */
+ @Test
+ public void childrenVariantTest(){
+ assertEquals(initialSettings.getInitialMeldThreshold(), view.settingsPanel.initialMeldThreshold);
+ assertEquals(initialSettings.getStoneSetNumber(), view.settingsPanel.stoneSetNumber);
+ assertEquals(initialSettings.getHighestValue(), view.settingsPanel.highestValue);
+ assertEquals(initialSettings.getNumberOfStonesDealt(), view.settingsPanel.numberOfStonesDealt);
+ assertEquals(initialSettings.getJokerNumber(), view.settingsPanel.jokerNumber);
+ assertEquals(initialSettings.getTotalTime(), view.settingsPanel.totalTime);
+ assertEquals(initialSettings.isNoLimits(), view.settingsPanel.noLimits);
+
+ view.settingsPanel.setVariantChildrenEvent.emit();
+
+ assertEquals(20, view.settingsPanel.initialMeldThreshold);
+ assertEquals(initialSettings.getStoneSetNumber(), view.settingsPanel.stoneSetNumber);
+ assertEquals(10, view.settingsPanel.highestValue);
+ assertEquals(initialSettings.getNumberOfStonesDealt(), view.settingsPanel.numberOfStonesDealt);
+ assertEquals(6, view.settingsPanel.jokerNumber);
+ assertEquals(120, view.settingsPanel.totalTime);
+ assertEquals(initialSettings.isNoLimits(), view.settingsPanel.noLimits);
+
+ view.settingsPanel.startGameEvent.emit();
+ assertNotNull(gameSettings);
+
+ assertEquals(20, gameSettings.getInitialMeldThreshold());
+ assertEquals(initialSettings.getStoneSetNumber(), gameSettings.getStoneSetNumber());
+ assertEquals(10, view.settingsPanel.highestValue);
+ assertEquals(initialSettings.getNumberOfStonesDealt(),gameSettings.getNumberOfStonesDealt());
+ assertEquals(6,gameSettings.getJokerNumber());
+ assertEquals(120, gameSettings.getTotalTime());
+ assertEquals(initialSettings.isNoLimits(), gameSettings.isNoLimits());
+ }
+
+ /** */
+ @Test
+ public void defaultVariantTest(){
+ assertEquals(initialSettings.getInitialMeldThreshold(), view.settingsPanel.initialMeldThreshold);
+ assertEquals(initialSettings.getStoneSetNumber(), view.settingsPanel.stoneSetNumber);
+ assertEquals(initialSettings.getHighestValue(), view.settingsPanel.highestValue);
+ assertEquals(initialSettings.getNumberOfStonesDealt(), view.settingsPanel.numberOfStonesDealt);
+ assertEquals(initialSettings.getJokerNumber(), view.settingsPanel.jokerNumber);
+ assertEquals(initialSettings.getTotalTime(), view.settingsPanel.totalTime);
+ assertEquals(initialSettings.isNoLimits(), view.settingsPanel.noLimits);
+
+ view.settingsPanel.setVariantChildrenEvent.emit();
+
+ assertEquals(20, view.settingsPanel.initialMeldThreshold);
+ assertEquals(initialSettings.getStoneSetNumber(), view.settingsPanel.stoneSetNumber);
+ assertEquals(10, view.settingsPanel.highestValue);
+ assertEquals(initialSettings.getNumberOfStonesDealt(), view.settingsPanel.numberOfStonesDealt);
+ assertEquals(6, view.settingsPanel.jokerNumber);
+ assertEquals(120, view.settingsPanel.totalTime);
+ assertEquals(initialSettings.isNoLimits(), view.settingsPanel.noLimits);
+
+ view.settingsPanel.setVariantDefaultEvent.emit();
+
+ assertEquals(initialSettings.getInitialMeldThreshold(), view.settingsPanel.initialMeldThreshold);
+ assertEquals(initialSettings.getStoneSetNumber(), view.settingsPanel.stoneSetNumber);
+ assertEquals(initialSettings.getHighestValue(), view.settingsPanel.highestValue);
+ assertEquals(initialSettings.getNumberOfStonesDealt(), view.settingsPanel.numberOfStonesDealt);
+ assertEquals(initialSettings.getJokerNumber(), view.settingsPanel.jokerNumber);
+ assertEquals(initialSettings.getTotalTime(), view.settingsPanel.totalTime);
+ assertEquals(initialSettings.isNoLimits(), view.settingsPanel.noLimits);
+
+ view.settingsPanel.startGameEvent.emit();
+ assertNotNull(gameSettings);
+
+ assertEquals(initialSettings.getInitialMeldThreshold(), gameSettings.getInitialMeldThreshold());
+ assertEquals(initialSettings.getStoneSetNumber(), gameSettings.getStoneSetNumber());
+ assertEquals(initialSettings.getHighestValue(), gameSettings.getHighestValue());
+ assertEquals(initialSettings.getNumberOfStonesDealt(), gameSettings.getNumberOfStonesDealt());
+ assertEquals(initialSettings.getJokerNumber(), gameSettings.getJokerNumber());
+ assertEquals(initialSettings.getTotalTime(),gameSettings.getTotalTime());
+ assertEquals(initialSettings.isNoLimits(), gameSettings.isNoLimits());
+ }
/** */
@Test