Show initial hand succeeds

git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@136 72836036-5685-4462-b002-a69064685172
This commit is contained in:
Bennet Gerlach 2011-05-05 00:19:02 +02:00
parent 0318d8cee2
commit bc827302d0
3 changed files with 31 additions and 25 deletions

View file

@ -1,6 +1,5 @@
package jrummikub.control;
import jrummikub.model.IHand;
import jrummikub.model.ITable;
import jrummikub.util.Event;
@ -14,7 +13,6 @@ public class TurnControl {
private ITurnTimer timer;
private IView view;
private Event endOfTurnEvent = new Event();
public TurnControl(IHand hand, ITable table, IView view) {
this.hand = hand;
@ -23,21 +21,20 @@ public class TurnControl {
this.timer = new TurnTimer(view);
setup();
}
/** Test only constructor **/
TurnControl(IHand hand, ITable table, IView view, ITurnTimer testTimer) {
// TODO: change timer to interface
this.hand = hand;
this.table = table;
this.view = view;
this.timer = testTimer;
setup();
}
private void setup() {
IListener endOfTurnListener = new IListener() {
@Override
public void handle() {
endOfTurn();
@ -45,6 +42,11 @@ public class TurnControl {
};
timer.getTimeRunOutEvent().add(endOfTurnListener);
view.getPlayerPanel().getEndTurnEvent().add(endOfTurnListener);
view.getPlayerPanel().getHandPanel().setStones(hand.clone());
view.enableStartTurnPanel(false);
timer.startTimer();
}
private void sortByValue() {
@ -54,12 +56,12 @@ public class TurnControl {
private void sortByColor() {
}
private void endOfTurn() {
timer.stopTimer();
endOfTurnEvent.emit();
}
public IEvent getEndOfTurnEvent() {
return endOfTurnEvent;
}

View file

@ -59,14 +59,14 @@ public class TurnControlTest {
mockTimer = new MockTimer();
mockTable = new MockTable();
mockHand = new MockHand();
testControl = new TurnControl(null, mockTable, mockView, mockTimer);
testControl = new TurnControl(mockHand, mockTable, mockView, mockTimer);
}
@Test
public void startTimer() {
assertTrue(mockTimer.timerRunning);
}
@SuppressWarnings("unchecked")
@Test
public void showInitialHand() {
@ -74,25 +74,25 @@ public class TurnControlTest {
mockTimer = new MockTimer();
mockTable = new MockTable();
mockHand = new MockHand();
mockView.displayStartTurnPanel = false;
List<Pair<Stone, Position>> stones = Arrays.asList(new Pair<Stone, Position>(new Stone(RED), new Position(0,0)),
new Pair<Stone, Position>(new Stone(BLACK), new Position(1,0)));
mockView.displayStartTurnPanel = true;
List<Pair<Stone, Position>> stones = Arrays.asList(
new Pair<Stone, Position>(new Stone(RED), new Position(0, 0)),
new Pair<Stone, Position>(new Stone(BLACK), new Position(1, 0)));
mockHand.iterable = stones;
testControl = new TurnControl(null, mockTable, mockView, mockTimer);
testControl = new TurnControl(mockHand, mockTable, mockView, mockTimer);
int i = 0;
for (Pair<Stone, Position> pair : mockView.playerPanel.handPanel.stones) {
assertSame(stones.get(i), pair);
i++;
}
assertEquals(stones.size(), i);
assertTrue(mockView.displayStartTurnPanel);
assertFalse(mockView.displayStartTurnPanel);
}
@Test

View file

@ -9,7 +9,7 @@ import jrummikub.util.Pair;
public class MockHand implements IHand {
public List<Stone> stones = new ArrayList<Stone>();
public Iterable<Pair<Stone, Position>> iterable;
@Override
@ -45,6 +45,10 @@ public class MockHand implements IHand {
}
public MockHand clone() {
return null;
try {
return (MockHand) super.clone();
} catch (CloneNotSupportedException e) {
return null;
}
}
}