diff options
Diffstat (limited to 'test/jrummikub/control')
-rw-r--r-- | test/jrummikub/control/network/NetworkGameControlTest.java | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/test/jrummikub/control/network/NetworkGameControlTest.java b/test/jrummikub/control/network/NetworkGameControlTest.java new file mode 100644 index 0000000..ea0dabe --- /dev/null +++ b/test/jrummikub/control/network/NetworkGameControlTest.java @@ -0,0 +1,78 @@ +package jrummikub.control.network; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.awt.Color; + +import jrummikub.control.SaveControl; +import jrummikub.model.GameSettings; +import jrummikub.model.PlayerSettings; +import jrummikub.util.IListener; +import jrummikub.view.IView.BottomPanelType; +import jrummikub.view.MockView; + +import org.junit.Before; +import org.junit.Test; + +/** + * Tests for the network game control + */ +public class NetworkGameControlTest { + + public NetworkGameControl hostControl, clientControl; + public GameSettings settings; + public MockView view; + public MockConnectionControl connection; + public boolean fired; + + /** */ + @Before + public void setUp() { + settings = new GameSettings(); + settings.getPlayerList().add(new PlayerSettings("Foobar", Color.BLACK)); + PlayerSettings player = new PlayerSettings("Fooblubb", Color.BLACK); + player.setType(PlayerSettings.Type.NETWORK); + settings.getPlayerList().add(player); + view = new MockView(); + connection = new MockConnectionControl(); + hostControl = new NetworkGameControl(settings, new SaveControl(view), + view, connection, true); + clientControl = new NetworkGameControl(settings, new SaveControl(view), + view, connection, false); + fired = false; + } + + /** */ + @Test + public void testStart() { + clientControl.startGame(); + assertFalse(connection.startRoundCalled); + hostControl.startGame(); + assertTrue(connection.startRoundCalled); + } + + /** */ + @Test + public void testParticipantLeft() { + + connection.participantLeftEvent.emit("Horst"); + assertTrue(BottomPanelType.NETWORK_CONNECTION_LOST_PANEL != view.bottomPanelType); + connection.participantLeftEvent.emit("Fooblubb"); + assertEquals(BottomPanelType.NETWORK_CONNECTION_LOST_PANEL, + view.bottomPanelType); + + hostControl.getBackEvent().add(new IListener() { + @Override + public void handle() { + fired = true; + } + }); + + view.newGameEvent.emit(); + assertTrue(fired); + + } + +} |