Tests und Kommentare

git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@594 72836036-5685-4462-b002-a69064685172
This commit is contained in:
Ida Massow 2011-06-22 11:08:17 +02:00
parent e9b2de87bc
commit 65e08c508c
2 changed files with 64 additions and 44 deletions

View file

@ -47,6 +47,8 @@ public class MockView implements IView {
public boolean isSidePanelVisible = false; public boolean isSidePanelVisible = false;
/** */ /** */
public boolean isConnectPanelVisible = false; public boolean isConnectPanelVisible = false;
/** */
public boolean pauseModeEnabled = false;
/** */ /** */
public Collection<Stone> selectedStones; public Collection<Stone> selectedStones;
@ -244,7 +246,7 @@ public class MockView implements IView {
@Override @Override
public void enablePauseMode(boolean enable) { public void enablePauseMode(boolean enable) {
// TODO Auto-generated method stub pauseModeEnabled = enable;
} }
@Override @Override

View file

@ -100,21 +100,24 @@ public class RoundControlTest {
gameSettings.getPlayerList().add(new PlayerSettings("Ida", Color.RED)); gameSettings.getPlayerList().add(new PlayerSettings("Ida", Color.RED));
gameSettings.getPlayerList().add( gameSettings.getPlayerList().add(
new PlayerSettings("Matthias", Color.YELLOW)); new PlayerSettings("Matthias", Color.YELLOW));
gameSettings.getPlayerList().add(new PlayerSettings("Jannis", Color.GREEN)); gameSettings.getPlayerList().add(
gameSettings.getPlayerList().add(new PlayerSettings("Bennet", Color.BLACK)); new PlayerSettings("Jannis", Color.GREEN));
gameSettings.getPlayerList().add(
new PlayerSettings("Bennet", Color.BLACK));
roundState = new RoundState(gameSettings, new GameState()); roundState = new RoundState(gameSettings, new GameState());
roundControl = new RoundControl(roundState, view); roundControl = new RoundControl(roundState, view);
} }
private void checkCorrectlyDealt() { private void checkCorrectlyDealt() {
GameSettings settings = testRoundState.getGameSettings(); GameSettings settings = testRoundState.getGameSettings();
int totalStones = settings.getHighestValue() * settings.getStoneSetNumber() int totalStones = settings.getHighestValue()
* settings.getStoneSetNumber()
* settings.getStoneColors().size() + settings.getJokerNumber(); * settings.getStoneColors().size() + settings.getJokerNumber();
assertEquals( assertEquals(
totalStones - testRoundState.getPlayerCount() totalStones - testRoundState.getPlayerCount()
* settings.getNumberOfStonesDealt() * settings.getNumberOfStonesDealt()
- testRoundState.table.getSize(), testRoundState.getStoneHeap() - testRoundState.table.getSize(), testRoundState
.getSize()); .getStoneHeap().getSize());
for (int i = 0; i < testRoundState.getPlayerCount(); i++) { for (int i = 0; i < testRoundState.getPlayerCount(); i++) {
assertEquals(settings.getNumberOfStonesDealt(), testRoundState assertEquals(settings.getNumberOfStonesDealt(), testRoundState
.getNthNextPlayer(i).getHand().getSize()); .getNthNextPlayer(i).getHand().getSize());
@ -185,8 +188,8 @@ public class RoundControlTest {
view.tablePanel.clickEvent.emit(new Position(0, 0)); view.tablePanel.clickEvent.emit(new Position(0, 0));
view.playerPanel.endTurnEvent.emit(); view.playerPanel.endTurnEvent.emit();
assertFalse(roundState.getNthNextPlayer(roundState.getPlayerCount() - 1) assertFalse(roundState
.getLaidOut()); .getNthNextPlayer(roundState.getPlayerCount() - 1).getLaidOut());
assertEquals(0, roundState.getTable().getSize()); assertEquals(0, roundState.getTable().getSize());
assertEquals(14 + 6, roundState.getActivePlayer().getHand().getSize()); assertEquals(14 + 6, roundState.getActivePlayer().getHand().getSize());
} }
@ -208,7 +211,8 @@ public class RoundControlTest {
assertFalse(roundState.getNthNextPlayer(-1).getLaidOut()); assertFalse(roundState.getNthNextPlayer(-1).getLaidOut());
assertEquals(0, roundState.getTable().getSize()); assertEquals(0, roundState.getTable().getSize());
assertEquals(14 + 1, roundState.getNthNextPlayer(-1).getHand().getSize()); assertEquals(14 + 1, roundState.getNthNextPlayer(-1).getHand()
.getSize());
} }
/** Threshold=30 */ /** Threshold=30 */
@ -245,7 +249,8 @@ public class RoundControlTest {
assertFalse(roundState.getNthNextPlayer(-1).getLaidOut()); assertFalse(roundState.getNthNextPlayer(-1).getLaidOut());
assertEquals(0, roundState.getTable().getSize()); assertEquals(0, roundState.getTable().getSize());
assertEquals(14 + 9, roundState.getNthNextPlayer(-1).getHand().getSize()); assertEquals(14 + 9, roundState.getNthNextPlayer(-1).getHand()
.getSize());
} }
private void dropStonesOnHand(IHand hand, List<Stone> stones) { private void dropStonesOnHand(IHand hand, List<Stone> stones) {
@ -304,7 +309,8 @@ public class RoundControlTest {
view.acknowledgeInvalidEvent.emit(); view.acknowledgeInvalidEvent.emit();
assertFalse(roundState.getNthNextPlayer(-1).getLaidOut()); assertFalse(roundState.getNthNextPlayer(-1).getLaidOut());
assertEquals(2, roundState.getTable().getSize()); assertEquals(2, roundState.getTable().getSize());
assertEquals(14 + 6, roundState.getNthNextPlayer(-1).getHand().getSize()); assertEquals(14 + 6, roundState.getNthNextPlayer(-1).getHand()
.getSize());
} }
/** Threshold=30 */ /** Threshold=30 */
@ -356,7 +362,8 @@ public class RoundControlTest {
view.acknowledgeInvalidEvent.emit(); view.acknowledgeInvalidEvent.emit();
assertFalse(roundState.getNthNextPlayer(-1).getLaidOut()); assertFalse(roundState.getNthNextPlayer(-1).getLaidOut());
assertEquals(2, roundState.getTable().getSize()); assertEquals(2, roundState.getTable().getSize());
assertEquals(14 + 7, roundState.getNthNextPlayer(-1).getHand().getSize()); assertEquals(14 + 7, roundState.getNthNextPlayer(-1).getHand()
.getSize());
} }
/** */ /** */
@ -409,7 +416,8 @@ public class RoundControlTest {
view.acknowledgeInvalidEvent.emit(); view.acknowledgeInvalidEvent.emit();
assertFalse(roundState.getNthNextPlayer(-1).getLaidOut()); assertFalse(roundState.getNthNextPlayer(-1).getLaidOut());
assertEquals(2, roundState.getTable().getSize()); assertEquals(2, roundState.getTable().getSize());
assertEquals(14 + 3, roundState.getNthNextPlayer(-1).getHand().getSize()); assertEquals(14 + 3, roundState.getNthNextPlayer(-1).getHand()
.getSize());
} }
/** Threshold=30 */ /** Threshold=30 */
@ -492,9 +500,8 @@ public class RoundControlTest {
testTable.valid = true; testTable.valid = true;
testTable.sets.clear(); testTable.sets.clear();
testTable.drop( testTable.drop(
new StoneSet(Arrays new StoneSet(Arrays.asList(blueEight, blackEight, redEight,
.asList(blueEight, blackEight, redEight, orangeEight)), orangeEight)), new Position(0, 0));
new Position(0, 0));
oldTable.clonedTable = testTable; oldTable.clonedTable = testTable;
view.startTurnEvent.emit(); view.startTurnEvent.emit();
@ -523,10 +530,9 @@ public class RoundControlTest {
testTable.valid = false; testTable.valid = false;
testTable.sets.clear(); testTable.sets.clear();
testTable testTable.drop(
.drop( new StoneSet(Arrays.asList(blueEight, blackEight, redEight,
new StoneSet(Arrays.asList(blueEight, blackEight, redEight, blackFour)), new Position(0, 0));
blackFour)), new Position(0, 0));
oldTable.clonedTable = testTable; oldTable.clonedTable = testTable;
view.startTurnEvent.emit(); view.startTurnEvent.emit();
@ -582,9 +588,8 @@ public class RoundControlTest {
MockTable oldTable = testRoundState.table; MockTable oldTable = testRoundState.table;
oldTable.sets.clear(); oldTable.sets.clear();
oldTable.drop( oldTable.drop(
new StoneSet(Arrays new StoneSet(Arrays.asList(blueEight, blackEight, redEight,
.asList(blueEight, blackEight, redEight, orangeEight)), orangeEight)), new Position(0, 0));
new Position(0, 0));
testTable.valid = false; testTable.valid = false;
testTable.sets.clear(); testTable.sets.clear();
@ -709,19 +714,20 @@ public class RoundControlTest {
} }
testRoundState.players.get(0).laidOut = true; testRoundState.players.get(0).laidOut = true;
testRoundState.players.get(0).hand.drop(new Stone(1, RED), new Position(0, testRoundState.players.get(0).hand.drop(new Stone(1, RED),
0)); new Position(0, 0));
testRoundState.players.get(0).hand.drop(new Stone(2, RED), new Position(0, testRoundState.players.get(0).hand.drop(new Stone(2, RED),
0)); new Position(0, 0));
testRoundState.players.get(1).laidOut = true; testRoundState.players.get(1).laidOut = true;
testRoundState.players.get(1).hand.drop(new Stone(RED), new Position(0, 0)); testRoundState.players.get(1).hand.drop(new Stone(RED), new Position(0,
0));
testRoundState.players.get(2).laidOut = false; testRoundState.players.get(2).laidOut = false;
testRoundState.players.get(2).hand.drop(new Stone(9, RED), new Position(0, testRoundState.players.get(2).hand.drop(new Stone(9, RED),
0)); new Position(0, 0));
testRoundState.players.get(2).hand.drop(new Stone(10, RED), new Position(0, testRoundState.players.get(2).hand.drop(new Stone(10, RED),
0)); new Position(0, 0));
testRoundState.players.get(2).hand.drop(new Stone(11, RED), new Position(0, testRoundState.players.get(2).hand.drop(new Stone(11, RED),
0)); new Position(0, 0));
testRoundState.players.get(3).laidOut = true; testRoundState.players.get(3).laidOut = true;
testRound.endOfRound(); testRound.endOfRound();
@ -755,19 +761,19 @@ public class RoundControlTest {
} }
testRoundState.players.get(0).laidOut = true; testRoundState.players.get(0).laidOut = true;
testRoundState.players.get(0).hand.drop(new Stone(1, RED), new Position(0, testRoundState.players.get(0).hand.drop(new Stone(1, RED),
0)); new Position(0, 0));
testRoundState.players.get(0).hand.drop(new Stone(2, RED), new Position(0, testRoundState.players.get(0).hand.drop(new Stone(2, RED),
0)); new Position(0, 0));
testRoundState.players.get(1).laidOut = true; testRoundState.players.get(1).laidOut = true;
testRoundState.players.get(1).hand.drop(new Stone(3, RED), new Position(0, testRoundState.players.get(1).hand.drop(new Stone(3, RED),
0)); new Position(0, 0));
testRoundState.players.get(2).laidOut = true; testRoundState.players.get(2).laidOut = true;
testRoundState.players.get(2).hand.drop(new Stone(3, BLUE), new Position(0, testRoundState.players.get(2).hand.drop(new Stone(3, BLUE),
0)); new Position(0, 0));
testRoundState.players.get(3).laidOut = false; testRoundState.players.get(3).laidOut = false;
testRoundState.players.get(3).hand.drop(new Stone(13, RED), new Position(0, testRoundState.players.get(3).hand.drop(new Stone(13, RED),
0)); new Position(0, 0));
testRound.endOfRound(); testRound.endOfRound();
assertTrue(roundEnded); assertTrue(roundEnded);
@ -852,4 +858,16 @@ public class RoundControlTest {
} }
assertEquals(TurnMode.NORMAL_TURN, view.playerPanel.turnMode); assertEquals(TurnMode.NORMAL_TURN, view.playerPanel.turnMode);
} }
/** */
@Test
public void testPauseAndContinue() {
testRound.startRound();
testRound.startTurn();
view.startTurnEvent.emit();
view.pauseEvent.emit();
assertTrue(view.pauseModeEnabled);
view.endPauseEvent.emit();
assertFalse(view.pauseModeEnabled);
}
} }