diff options
Diffstat (limited to 'test/jrummikub/control/turn')
-rw-r--r-- | test/jrummikub/control/turn/TurnControlTest.java | 42 |
1 files changed, 29 insertions, 13 deletions
diff --git a/test/jrummikub/control/turn/TurnControlTest.java b/test/jrummikub/control/turn/TurnControlTest.java index 76c2159..dd1176f 100644 --- a/test/jrummikub/control/turn/TurnControlTest.java +++ b/test/jrummikub/control/turn/TurnControlTest.java @@ -143,7 +143,10 @@ public class TurnControlTest { mockRoundState = new MockRoundState(); mockTimer = new MockTimer(); mockTable = new MockTable(); + + mockRoundState.table = mockTable; mockHand = new MockHand(); + mockRoundState.players.get(0).hand = mockHand; mockPlayer = new MockPlayer(null, null); mockPlayer.hand = mockHand; testControl = new HumanTurnControl(mockTimer); @@ -163,6 +166,7 @@ public class TurnControlTest { @SuppressWarnings("unchecked") @Test public void showInitialHand() { + mockRoundState.turnNumber = -1; mockView.bottomPanelType = BottomPanelType.START_TURN_PANEL; List<Pair<Stone, Position>> stones = Arrays.asList( @@ -170,11 +174,13 @@ public class TurnControlTest { new Pair<Stone, Position>(blackJoker, new Position(1, 0))); mockHand.iterable = stones; + mockRoundState.players.get(0).hand = mockHand; testControl = new HumanTurnControl(mockTimer); testControl.setup(new ITurnControl.TurnInfo(mockRoundState, - TurnMode.NORMAL_TURN), new GameSettings(), mockView); + TurnMode.INSPECT_ONLY), new GameSettings(), mockView); testControl.startTurn(); + mockView.startTurnEvent.emit(); int i = 0; for (Pair<Stone, Position> pair : mockView.handPanel.stones) { @@ -590,18 +596,21 @@ public class TurnControlTest { public void testAddLeft() { AccessibleTable table = new AccessibleTable(); HumanTurnControl turnControl = new HumanTurnControl(mockTimer); - turnControl.setup(new ITurnControl.TurnInfo(mockRoundState, - TurnMode.NORMAL_TURN), new GameSettings(), mockView); - turnControl.startTurn(); + mockTable.clonedTable = table; + mockHand.drop(blueThree, new Position(0, 0)); + mockHand.drop(blueFour, new Position(0, 0)); StoneSet oldSet1 = new StoneSet(Arrays.asList(blueOne, redOne, blackOne, redTwo, redThree, redFour, blackTwo, blackThree)); StoneSet oldSet2 = new StoneSet(Arrays.asList(blueTwo, blackFour, blackFive)); table.drop(oldSet1, new Position(0, 0)); table.drop(oldSet2, new Position(0, 0)); - mockHand.drop(blueThree, new Position(0, 0)); - mockHand.drop(blueFour, new Position(0, 0)); + + turnControl.setup(new ITurnControl.TurnInfo(mockRoundState, + TurnMode.NORMAL_TURN), new GameSettings(), mockView); + turnControl.startTurn(); + mockView.handPanel.stoneClickEvent.emit(blueThree, false); mockView.tablePanel.stoneClickEvent.emit(redOne, true); mockView.tablePanel.stoneClickEvent.emit(redThree, true); @@ -695,10 +704,9 @@ public class TurnControlTest { @Test public void testAddRight() { AccessibleTable table = new AccessibleTable(); + mockTable.clonedTable = table; HumanTurnControl turnControl = new HumanTurnControl(mockTimer); - turnControl.setup(new TurnInfo(mockRoundState, TurnMode.NORMAL_TURN), - new GameSettings(), mockView); - turnControl.startTurn(); + StoneSet oldSet1 = new StoneSet(Arrays.asList(blueOne, redOne, blackOne, redTwo, redThree, redFour, blackTwo, blackThree)); StoneSet oldSet2 = new StoneSet(Arrays.asList(blueTwo, blackFour, @@ -707,6 +715,11 @@ public class TurnControlTest { table.drop(oldSet2, new Position(0, 0)); mockHand.drop(blueThree, new Position(0, 0)); mockHand.drop(blueFour, new Position(0, 0)); + + turnControl.setup(new TurnInfo(mockRoundState, TurnMode.NORMAL_TURN), + new GameSettings(), mockView); + turnControl.startTurn(); + mockView.handPanel.stoneClickEvent.emit(blueThree, false); mockView.tablePanel.stoneClickEvent.emit(redOne, true); mockView.tablePanel.stoneClickEvent.emit(redThree, true); @@ -800,10 +813,7 @@ public class TurnControlTest { @Test public void testAddNewSet() { AccessibleTable table = new AccessibleTable(); - HumanTurnControl turnControl = new HumanTurnControl(mockTimer); - turnControl.setup(new TurnInfo(mockRoundState, TurnMode.NORMAL_TURN), - new GameSettings(), mockView); - turnControl.startTurn(); + mockTable.clonedTable = table; StoneSet oldSet1 = new StoneSet(Arrays.asList(blueOne, redOne, blackOne, redTwo, redThree, redFour, blackTwo, blackThree)); StoneSet oldSet2 = new StoneSet(Arrays.asList(blueTwo, blackFour, @@ -812,11 +822,17 @@ public class TurnControlTest { table.drop(oldSet2, new Position(0, 0)); mockHand.drop(blueThree, new Position(0, 0)); mockHand.drop(blueFour, new Position(0, 0)); + + HumanTurnControl turnControl = new HumanTurnControl(mockTimer); + turnControl.setup(new TurnInfo(mockRoundState, TurnMode.NORMAL_TURN), + new GameSettings(), mockView); + turnControl.startTurn(); mockView.handPanel.stoneClickEvent.emit(blueThree, false); mockView.tablePanel.stoneClickEvent.emit(redOne, true); mockView.tablePanel.stoneClickEvent.emit(redThree, true); mockView.tablePanel.stoneClickEvent.emit(blueTwo, true); mockView.tablePanel.clickEvent.emit(new Position(0, 0)); + // handcheck assertEquals(1, mockHand.getSize()); assertSame(blueFour, mockHand.stones.get(0).getFirst()); |