summaryrefslogtreecommitdiffstats
path: root/test/jrummikub
diff options
context:
space:
mode:
Diffstat (limited to 'test/jrummikub')
-rw-r--r--test/jrummikub/control/RoundControlTest.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/test/jrummikub/control/RoundControlTest.java b/test/jrummikub/control/RoundControlTest.java
index 68ae825..8c8c67d 100644
--- a/test/jrummikub/control/RoundControlTest.java
+++ b/test/jrummikub/control/RoundControlTest.java
@@ -905,4 +905,42 @@ public class RoundControlTest {
view.playerPanel.redealEvent.emit();
assertTrue(roundRestarted);
}
+
+ /** */
+ @Test
+ public void testRedealDisallowed() {
+ testRound.startRound();
+ Hand hand = new Hand(gameSettings);
+ hand.drop(new Stone(1, RED), new Position(0, 0));
+ hand.drop(new Stone(1, BLACK), new Position(0, 0));
+ hand.drop(new Stone(1, BLUE), new Position(0, 0));
+ testRoundState.players.get(0).hand = hand;
+ view.startTurnEvent.emit();
+ assertTrue(view.playerPanel.inspectOnly);
+ assertFalse(view.playerPanel.mayRedeal);
+ for (int i = 0; i < 4; i++) {
+ view.playerPanel.endTurnEvent.emit();
+ view.startTurnEvent.emit();
+ }
+ assertFalse(view.playerPanel.inspectOnly);
+ }
+
+ /** */
+ @Test
+ public void testRedealAllowed() {
+ testRound.startRound();
+ Hand hand = new Hand(gameSettings);
+ for (int i = 0; i < 6; i++) {
+ hand.drop(new Stone(i / 2, RED), new Position(0, 0));
+ }
+ testRoundState.players.get(0).hand = hand;
+ view.startTurnEvent.emit();
+ assertTrue(view.playerPanel.inspectOnly);
+ assertTrue(view.playerPanel.mayRedeal);
+ for (int i = 0; i < 4; i++) {
+ view.playerPanel.endTurnEvent.emit();
+ view.startTurnEvent.emit();
+ }
+ assertFalse(view.playerPanel.inspectOnly);
+ }
}