This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
JRummikub/test/jrummikub/control/TurnControlTest.java
Jannis Harder 3cd6dee363 Implemented first turn control tests
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@111 72836036-5685-4462-b002-a69064685172
2011-05-04 17:33:46 +02:00

90 lines
1.7 KiB
Java

package jrummikub.control;
import java.util.Collection;
import jrummikub.model.Stone;
import jrummikub.util.Event;
import jrummikub.util.IEvent;
import jrummikub.util.IListener;
import jrummikub.view.IHandPanel;
import jrummikub.view.IPlayerPanel;
import jrummikub.view.ITablePanel;
import jrummikub.view.IView;
import jrummikub.view.MockView;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
public class TurnControlTest {
class MockTimer implements ITurnTimer {
boolean timerRunning;
@Override
public void startTimer() {
timerRunning = true;
}
@Override
public void stopTimer() {
timerRunning = false;
}
@Override
public IEvent getTimeRunOutEvent() {
return null;
}
}
MockView mockView;
MockTimer mockTimer;
boolean eventFired;
@Before
public void setUp() {
mockView = new MockView();
mockTimer = new MockTimer();
}
@Test
public void viewEndOfTurn() {
eventFired = false;
mockTimer.timerRunning = true;
TurnControl testControl = new TurnControl(null, null, mockView, mockTimer);
testControl.getEndOfTurnEvent().add(new IListener() {
@Override
public void handle() {
eventFired = true;
}
});
mockView.playerPanel.endTurnEvent.emit();
assertTrue(eventFired);
assertFalse(mockTimer.timerRunning);
}
@Test
public void timerEndOfTurn() {
eventFired = false;
mockTimer.timerRunning = true;
TurnControl testControl = new TurnControl(null, null, mockView, mockTimer);
testControl.getEndOfTurnEvent().add(new IListener() {
@Override
public void handle() {
eventFired = true;
}
});
mockView.playerPanel.endTurnEvent.emit();
assertTrue(eventFired);
assertFalse(mockTimer.timerRunning);
}
}