summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mock/jrummikub/model/MockTable.java4
-rw-r--r--test/jrummikub/control/RoundControlTest.java2
-rw-r--r--test/jrummikub/control/turn/TurnControlTest.java42
3 files changed, 32 insertions, 16 deletions
diff --git a/mock/jrummikub/model/MockTable.java b/mock/jrummikub/model/MockTable.java
index 77652a6..37f3eb8 100644
--- a/mock/jrummikub/model/MockTable.java
+++ b/mock/jrummikub/model/MockTable.java
@@ -18,7 +18,7 @@ public class MockTable implements ITable {
/** */
public boolean valid = false;
/** */
- public MockTable clonedTable;
+ public ITable clonedTable;
/** */
public List<Pair<StoneSet, Position>> sets = new ArrayList<Pair<StoneSet, Position>>();
@@ -58,7 +58,7 @@ public class MockTable implements ITable {
return findStoneSet.get(stone);
}
- public MockTable clone() {
+ public ITable clone() {
if (clonedTable == null)
return this;
return clonedTable;
diff --git a/test/jrummikub/control/RoundControlTest.java b/test/jrummikub/control/RoundControlTest.java
index 80a91be..a6279ba 100644
--- a/test/jrummikub/control/RoundControlTest.java
+++ b/test/jrummikub/control/RoundControlTest.java
@@ -135,7 +135,7 @@ public class RoundControlTest {
Iterator<Pair<StoneSet, Position>> stoneSetsView = view.tablePanel.stoneSets
.iterator();
Iterator<Pair<StoneSet, Position>> stoneSetsModel = testRoundState.table
- .clone().sets.iterator();
+ .clone().iterator();
while (stoneSetsView.hasNext()) {
assertTrue(stoneSetsModel.hasNext());
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());