diff options
author | Jannis Harder <harder@informatik.uni-luebeck.de> | 2011-05-24 22:16:16 +0200 |
---|---|---|
committer | Jannis Harder <harder@informatik.uni-luebeck.de> | 2011-05-24 22:16:16 +0200 |
commit | 81ca3e174a7d69bd063b80d3512438fd3a89a077 (patch) | |
tree | 40a0c845e920a0d93c86329dbd2b00f8f8b9c925 | |
parent | 8c3c66f361934e521ef7d00e9464cfc51875badc (diff) | |
download | JRummikub-81ca3e174a7d69bd063b80d3512438fd3a89a077.tar JRummikub-81ca3e174a7d69bd063b80d3512438fd3a89a077.zip |
Renamed win() and fixed end of round tests
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@267 72836036-5685-4462-b002-a69064685172
-rw-r--r-- | src/jrummikub/control/GameControl.java | 2 | ||||
-rw-r--r-- | src/jrummikub/control/RoundControl.java | 16 | ||||
-rw-r--r-- | test/jrummikub/control/RoundControlTest.java | 26 |
3 files changed, 32 insertions, 12 deletions
diff --git a/src/jrummikub/control/GameControl.java b/src/jrummikub/control/GameControl.java index ac47e2f..1d50bc6 100644 --- a/src/jrummikub/control/GameControl.java +++ b/src/jrummikub/control/GameControl.java @@ -63,7 +63,7 @@ public class GameControl { roundState.setActivePlayerNumber(gameState.getFirstRoundFirstPlayer()); roundControl = new RoundControl(roundState, view); - roundControl.getEndRoundEvent().add(new IListener() { + roundControl.getEndOfRoundEvent().add(new IListener() { @Override public void handle() { diff --git a/src/jrummikub/control/RoundControl.java b/src/jrummikub/control/RoundControl.java index e10950d..d7a27bb 100644 --- a/src/jrummikub/control/RoundControl.java +++ b/src/jrummikub/control/RoundControl.java @@ -26,7 +26,7 @@ public class RoundControl { private IRoundState roundState; private IView view; private ITable clonedTable; - private Event endRoundEvent = new Event(); + private Event endOfRoundEvent = new Event(); private List<Connection> connections = new ArrayList<Connection>(); private boolean roundFinished; @@ -46,10 +46,10 @@ public class RoundControl { /** * End the round * - * @return endRoundEvent + * @return endOfRoundEvent */ - public IEvent getEndRoundEvent() { - return endRoundEvent; + public IEvent getEndOfRoundEvent() { + return endOfRoundEvent; } /** @@ -134,7 +134,7 @@ public class RoundControl { } else { if (roundState.getActivePlayer() == roundState.getLastPlayer()) { // TODO check who has won - win(); + endOfRound(); } else { roundState.nextPlayer(); } @@ -171,7 +171,7 @@ public class RoundControl { } else { roundState.getActivePlayer().setLaidOut(true); if (roundState.getActivePlayer().getHand().getSize() == 0) { - win(); + endOfRound(); } } } @@ -235,11 +235,11 @@ public class RoundControl { dealStones(count + 3); } - private void win() { + private void endOfRound() { for (Connection c : connections) { c.remove(); } - endRoundEvent.emit(); + endOfRoundEvent.emit(); view.enableWinPanel(true); roundFinished = true; } diff --git a/test/jrummikub/control/RoundControlTest.java b/test/jrummikub/control/RoundControlTest.java index 2d316d8..e4e8b07 100644 --- a/test/jrummikub/control/RoundControlTest.java +++ b/test/jrummikub/control/RoundControlTest.java @@ -32,6 +32,7 @@ import jrummikub.model.RoundState; import jrummikub.model.Stone; import jrummikub.model.StoneSet; import jrummikub.model.Table; +import jrummikub.util.IListener; import jrummikub.util.Pair; import jrummikub.view.MockView; @@ -50,6 +51,8 @@ public class RoundControlTest { private GameSettings gameSettings; private IRoundState roundState; private RoundControl roundControl; + + private boolean roundEnded; /** * For each test create a round control initialized by a mock model and view @@ -64,6 +67,7 @@ public class RoundControlTest { testTable = new MockTable(); testTable.sets.add(testRoundState.table.sets.get(0)); testRoundState.table.clonedTable = testTable; + roundEnded = false; gameSettings = new GameSettings(); @@ -566,6 +570,14 @@ public class RoundControlTest { /** */ @Test public void testWinning() { + + testRound.getEndOfRoundEvent().add(new IListener() { + @Override + public void handle() { + roundEnded = true; + } + }); + testRound.startRound(); MockTable oldTable = testRoundState.table; testTable.valid = true; @@ -594,9 +606,10 @@ public class RoundControlTest { testRoundState.players.get(0).hand = new Hand(gameSettings); resetTurnStart(); - view.playerPanel.endTurnEvent.emit(); - assertTrue(view.displayWinPanel); + assertFalse(roundEnded); + view.playerPanel.endTurnEvent.emit(); + assertTrue(roundEnded); } /** */ @@ -687,6 +700,13 @@ public class RoundControlTest { /** */ @Test public void heapIsEmpty() { + roundControl.getEndOfRoundEvent().add(new IListener() { + @Override + public void handle() { + roundEnded = true; + } + }); + roundState.getGameHeap().drawStones(106 - 14 * 4 - 1); roundControl.startRound(); @@ -702,6 +722,6 @@ public class RoundControlTest { view.startTurnEvent.emit(); view.playerPanel.endTurnEvent.emit(); } - assertTrue(view.displayWinPanel); + assertTrue(roundEnded); } } |