Collection selecting tests and mock views
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@113 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
ac08bc112f
commit
20b7f250da
6 changed files with 241 additions and 16 deletions
|
@ -1,20 +1,20 @@
|
|||
package jrummikub.control;
|
||||
|
||||
import java.util.Collection;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
import jrummikub.model.Stone;
|
||||
import jrummikub.model.StoneColor;
|
||||
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 {
|
||||
|
||||
|
@ -53,7 +53,8 @@ public class TurnControlTest {
|
|||
public void viewEndOfTurn() {
|
||||
eventFired = false;
|
||||
mockTimer.timerRunning = true;
|
||||
TurnControl testControl = new TurnControl(null, null, mockView, mockTimer);
|
||||
TurnControl testControl = new TurnControl(null, null, mockView,
|
||||
mockTimer);
|
||||
|
||||
testControl.getEndOfTurnEvent().add(new IListener() {
|
||||
|
||||
|
@ -64,16 +65,17 @@ public class TurnControlTest {
|
|||
});
|
||||
|
||||
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);
|
||||
TurnControl testControl = new TurnControl(null, null, mockView,
|
||||
mockTimer);
|
||||
|
||||
testControl.getEndOfTurnEvent().add(new IListener() {
|
||||
|
||||
|
@ -84,8 +86,75 @@ public class TurnControlTest {
|
|||
});
|
||||
|
||||
mockTimer.timeRunOutEvent.emit();
|
||||
|
||||
|
||||
assertTrue(eventFired);
|
||||
assertFalse(mockTimer.timerRunning);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void selectStoneInHand() {
|
||||
TurnControl testControl = new TurnControl(null, null, mockView,
|
||||
mockTimer);
|
||||
|
||||
Stone firstStone = new Stone(StoneColor.RED);
|
||||
|
||||
// Select first stone
|
||||
mockView.playerPanel.handPanel.stoneClickEvent.emit(firstStone, false);
|
||||
|
||||
assertCollection(Arrays.asList(firstStone));
|
||||
|
||||
// Select second stone
|
||||
Stone secondStone = new Stone(StoneColor.BLACK);
|
||||
mockView.playerPanel.handPanel.stoneClickEvent.emit(secondStone, false);
|
||||
|
||||
assertCollection(Arrays.asList(secondStone));
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void collectStoneInHand() {
|
||||
TurnControl testControl = new TurnControl(null, null, mockView,
|
||||
mockTimer);
|
||||
|
||||
Stone firstStone = new Stone(StoneColor.RED);
|
||||
|
||||
// Select first stone
|
||||
mockView.playerPanel.handPanel.stoneClickEvent.emit(firstStone, true);
|
||||
|
||||
assertCollection(Arrays.asList(firstStone));
|
||||
|
||||
// Select second stone
|
||||
Stone secondStone = new Stone(StoneColor.BLACK);
|
||||
mockView.playerPanel.handPanel.stoneClickEvent.emit(secondStone, true);
|
||||
|
||||
assertCollection(Arrays.asList(firstStone, secondStone));
|
||||
|
||||
// De-select first stone
|
||||
mockView.playerPanel.handPanel.stoneClickEvent.emit(firstStone, true);
|
||||
|
||||
assertCollection(Arrays.asList(secondStone));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void deselectStoneInCollection() {
|
||||
TurnControl testControl = new TurnControl(null, null, mockView,
|
||||
mockTimer);
|
||||
Stone firstStone = new Stone(StoneColor.RED);
|
||||
Stone secondStone = new Stone(StoneColor.BLACK);
|
||||
|
||||
mockView.playerPanel.handPanel.stoneClickEvent.emit(firstStone, true);
|
||||
mockView.playerPanel.handPanel.stoneClickEvent.emit(secondStone, true);
|
||||
|
||||
mockView.tablePanel.stoneCollectionPanel.stoneClickEvent.emit(
|
||||
firstStone, true);
|
||||
|
||||
assertCollection(Arrays.asList(secondStone));
|
||||
}
|
||||
|
||||
private void assertCollection(List<Stone> expected) {
|
||||
ArrayList<Stone> selectedStones = new ArrayList<Stone>(
|
||||
mockView.selectedStones);
|
||||
ArrayList<Stone> expectedStones = new ArrayList<Stone>(expected);
|
||||
assertEquals(selectedStones, expectedStones);
|
||||
}
|
||||
}
|
||||
|
|
43
test/jrummikub/view/MockHandPanel.java
Normal file
43
test/jrummikub/view/MockHandPanel.java
Normal file
|
@ -0,0 +1,43 @@
|
|||
package jrummikub.view;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import jrummikub.model.Position;
|
||||
import jrummikub.model.Stone;
|
||||
import jrummikub.util.Event2;
|
||||
import jrummikub.util.IEvent1;
|
||||
import jrummikub.util.IEvent2;
|
||||
|
||||
public class MockHandPanel implements IHandPanel {
|
||||
public Event2<Stone, Boolean> stoneClickEvent = new Event2<Stone, Boolean>();
|
||||
|
||||
@Override
|
||||
public IEvent2<Stone, Boolean> getStoneClickEvent() {
|
||||
return stoneClickEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent2<Stone, Boolean> getRangeClickEvent() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent2<Stone, Boolean> getSetClickEvent() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent1<Position> getClickEvent() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStones(Map<Stone, Position> stones) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -5,10 +5,12 @@ import jrummikub.util.IEvent;
|
|||
|
||||
public class MockPlayerPanel implements IPlayerPanel {
|
||||
public Event endTurnEvent = new Event();
|
||||
public MockHandPanel handPanel = new MockHandPanel();
|
||||
|
||||
@Override
|
||||
public IHandPanel getHandPanel() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
return handPanel;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
28
test/jrummikub/view/MockStoneCollectionPanel.java
Normal file
28
test/jrummikub/view/MockStoneCollectionPanel.java
Normal file
|
@ -0,0 +1,28 @@
|
|||
package jrummikub.view;
|
||||
|
||||
import jrummikub.model.Stone;
|
||||
import jrummikub.util.Event2;
|
||||
import jrummikub.util.IEvent2;
|
||||
|
||||
public class MockStoneCollectionPanel implements IStoneCollectionPanel {
|
||||
|
||||
public Event2<Stone,Boolean> stoneClickEvent = new Event2<Stone, Boolean>();
|
||||
|
||||
@Override
|
||||
public IEvent2<Stone, Boolean> getStoneClickEvent() {
|
||||
return stoneClickEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent2<Stone, Boolean> getRangeClickEvent() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent2<Stone, Boolean> getSetClickEvent() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
82
test/jrummikub/view/MockTablePanel.java
Normal file
82
test/jrummikub/view/MockTablePanel.java
Normal file
|
@ -0,0 +1,82 @@
|
|||
package jrummikub.view;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import jrummikub.model.Position;
|
||||
import jrummikub.model.Stone;
|
||||
import jrummikub.model.StoneSet;
|
||||
import jrummikub.util.Event1;
|
||||
import jrummikub.util.IEvent1;
|
||||
import jrummikub.util.IEvent2;
|
||||
|
||||
public class MockTablePanel implements ITablePanel {
|
||||
|
||||
public MockStoneCollectionPanel stoneCollectionPanel = new MockStoneCollectionPanel();
|
||||
|
||||
@Override
|
||||
public IEvent2<Stone, Boolean> getStoneClickEvent() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent2<Stone, Boolean> getRangeClickEvent() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent2<Stone, Boolean> getSetClickEvent() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent1<Position> getClickEvent() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLeftPlayerName(String playerName) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTopPlayerName(String playerName) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRightPlayerName(String playerName) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStoneSets(Map<StoneSet, Position> stoneSets) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public IStoneCollectionPanel getStoneCollectionPanel() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Event1<StoneSet> getLeftConnectorClickEvent() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Event1<StoneSet> getRightConnectorClickEvent() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
package jrummikub.view;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import jrummikub.model.Stone;
|
||||
|
@ -6,6 +7,9 @@ import jrummikub.util.IEvent;
|
|||
|
||||
public class MockView implements IView {
|
||||
public MockPlayerPanel playerPanel = new MockPlayerPanel();
|
||||
public MockTablePanel tablePanel = new MockTablePanel();
|
||||
|
||||
public Collection<Stone> selectedStones;
|
||||
|
||||
@Override
|
||||
public ITablePanel getTablePanel() {
|
||||
|
@ -26,8 +30,7 @@ public class MockView implements IView {
|
|||
|
||||
@Override
|
||||
public void setSelectedStones(Collection<Stone> stones) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
selectedStones = stones;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -60,6 +63,4 @@ public class MockView implements IView {
|
|||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
Reference in a new issue