From 20b7f250da1e9eea67908a35462221ab003f2a2e Mon Sep 17 00:00:00 2001 From: Jannis Harder Date: Wed, 4 May 2011 18:47:13 +0200 Subject: Collection selecting tests and mock views git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@113 72836036-5685-4462-b002-a69064685172 --- test/jrummikub/control/TurnControlTest.java | 91 ++++++++++++++++++++--- test/jrummikub/view/MockHandPanel.java | 43 +++++++++++ test/jrummikub/view/MockPlayerPanel.java | 4 +- test/jrummikub/view/MockStoneCollectionPanel.java | 28 +++++++ test/jrummikub/view/MockTablePanel.java | 82 ++++++++++++++++++++ test/jrummikub/view/MockView.java | 9 ++- 6 files changed, 241 insertions(+), 16 deletions(-) create mode 100644 test/jrummikub/view/MockHandPanel.java create mode 100644 test/jrummikub/view/MockStoneCollectionPanel.java create mode 100644 test/jrummikub/view/MockTablePanel.java (limited to 'test') diff --git a/test/jrummikub/control/TurnControlTest.java b/test/jrummikub/control/TurnControlTest.java index 288214e..840e83f 100644 --- a/test/jrummikub/control/TurnControlTest.java +++ b/test/jrummikub/control/TurnControlTest.java @@ -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 expected) { + ArrayList selectedStones = new ArrayList( + mockView.selectedStones); + ArrayList expectedStones = new ArrayList(expected); + assertEquals(selectedStones, expectedStones); + } } diff --git a/test/jrummikub/view/MockHandPanel.java b/test/jrummikub/view/MockHandPanel.java new file mode 100644 index 0000000..d0c5edd --- /dev/null +++ b/test/jrummikub/view/MockHandPanel.java @@ -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 stoneClickEvent = new Event2(); + + @Override + public IEvent2 getStoneClickEvent() { + return stoneClickEvent; + } + + @Override + public IEvent2 getRangeClickEvent() { + // TODO Auto-generated method stub + return null; + } + + @Override + public IEvent2 getSetClickEvent() { + // TODO Auto-generated method stub + return null; + } + + @Override + public IEvent1 getClickEvent() { + // TODO Auto-generated method stub + return null; + } + + @Override + public void setStones(Map stones) { + // TODO Auto-generated method stub + + } + +} diff --git a/test/jrummikub/view/MockPlayerPanel.java b/test/jrummikub/view/MockPlayerPanel.java index b144bbb..639287a 100644 --- a/test/jrummikub/view/MockPlayerPanel.java +++ b/test/jrummikub/view/MockPlayerPanel.java @@ -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 diff --git a/test/jrummikub/view/MockStoneCollectionPanel.java b/test/jrummikub/view/MockStoneCollectionPanel.java new file mode 100644 index 0000000..bec3734 --- /dev/null +++ b/test/jrummikub/view/MockStoneCollectionPanel.java @@ -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 stoneClickEvent = new Event2(); + + @Override + public IEvent2 getStoneClickEvent() { + return stoneClickEvent; + } + + @Override + public IEvent2 getRangeClickEvent() { + // TODO Auto-generated method stub + return null; + } + + @Override + public IEvent2 getSetClickEvent() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/test/jrummikub/view/MockTablePanel.java b/test/jrummikub/view/MockTablePanel.java new file mode 100644 index 0000000..04ff926 --- /dev/null +++ b/test/jrummikub/view/MockTablePanel.java @@ -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 getStoneClickEvent() { + // TODO Auto-generated method stub + return null; + } + + @Override + public IEvent2 getRangeClickEvent() { + // TODO Auto-generated method stub + return null; + } + + @Override + public IEvent2 getSetClickEvent() { + // TODO Auto-generated method stub + return null; + } + + @Override + public IEvent1 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 stoneSets) { + // TODO Auto-generated method stub + + } + + @Override + public IStoneCollectionPanel getStoneCollectionPanel() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Event1 getLeftConnectorClickEvent() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Event1 getRightConnectorClickEvent() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/test/jrummikub/view/MockView.java b/test/jrummikub/view/MockView.java index 9b526a6..3165478 100644 --- a/test/jrummikub/view/MockView.java +++ b/test/jrummikub/view/MockView.java @@ -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 selectedStones; @Override public ITablePanel getTablePanel() { @@ -26,8 +30,7 @@ public class MockView implements IView { @Override public void setSelectedStones(Collection stones) { - // TODO Auto-generated method stub - + selectedStones = stones; } @Override @@ -60,6 +63,4 @@ public class MockView implements IView { return null; } - - } \ No newline at end of file -- cgit v1.2.3