diff options
Diffstat (limited to 'test/jrummikub')
-rw-r--r-- | test/jrummikub/control/RoundControlTest.java | 38 |
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); + } } |