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

View file

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

View file

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