From 4ddf87fc9638a7a099c57d650ed878571d0b0954 Mon Sep 17 00:00:00 2001 From: Ida Massow Date: Sun, 19 Jun 2011 02:45:49 +0200 Subject: =?UTF-8?q?Test=20f=C3=BCr=20game=20join=20control?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@478 72836036-5685-4462-b002-a69064685172 --- .../control/network/GameJoinControlTest.java | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) (limited to 'test/jrummikub') diff --git a/test/jrummikub/control/network/GameJoinControlTest.java b/test/jrummikub/control/network/GameJoinControlTest.java index 9e175b1..31f76da 100644 --- a/test/jrummikub/control/network/GameJoinControlTest.java +++ b/test/jrummikub/control/network/GameJoinControlTest.java @@ -1,6 +1,86 @@ package jrummikub.control.network; +import static org.junit.Assert.*; +import static org.junit.Assert.assertSame; + +import java.awt.Color; +import java.util.UUID; + +import jrummikub.model.GameSettings; +import jrummikub.model.PlayerSettings; +import jrummikub.model.PlayerSettings.Type; +import jrummikub.util.GameData; +import jrummikub.util.LoginData; +import jrummikub.view.ISettingsPanel.SettingsMode; +import jrummikub.view.MockView; + +import org.junit.Before; +import org.junit.Test; public class GameJoinControlTest { + LoginData loginData; + MockConnectionControl mockConnection; + NetworkControl networkControl; + GameJoinControl joinControl; + MockView view; + UUID id1 = UUID.randomUUID(); + UUID id2 = UUID.randomUUID(); + UUID id3 = UUID.randomUUID(); + + /** */ + @Before + public void setup() { + mockConnection = new MockConnectionControl(); + mockConnection.nickname = "Karl"; + view = new MockView(); + loginData = new LoginData("Karl", "server", "password", "channel"); + networkControl = new NetworkControl(loginData, mockConnection, view); + networkControl.startNetwork(); + + mockConnection.connectedEvent.emit(); + } + + /** */ + @Test + public void joinCancelTest() { + GameData data = offerTestGame(id1, "Anne"); + view.gameListPanel.joinEvent.emit(data); + mockConnection.gameJoinAckEvent.emit(true); + assertTrue(view.isSettingsPanelVisible); + assertEquals(SettingsMode.NETWORK_JOIN, view.settingsPanel.settingsMode); + offerJoinedGame(id1, "Anne", "Karl"); + view.settingsPanel.changePlayerColorEvent.emit(1, Color.GRAY); + assertEquals(Type.HUMAN, mockConnection.getCurrentGame().getGameSettings().getPlayerList().get(1).getType()); + assertEquals(Color.GRAY, mockConnection.playerColor); + + view.settingsPanel.backEvent.emit(); + assertTrue(view.isGameListPanelVisible); + } + + private GameData offerTestGame(UUID id, String host) { + GameSettings gsettings = new GameSettings(); + PlayerSettings psettings = new PlayerSettings(host, Color.BLACK); + psettings.setType(Type.HUMAN); + gsettings.getPlayerList().add(psettings); + PlayerSettings psettings2 = new PlayerSettings("Offen", Color.RED); + psettings2.setType(Type.VACANT); + gsettings.getPlayerList().add(psettings2); + GameData gameData = new GameData(id, gsettings, host); + mockConnection.gameOfferEvent.emit(gameData); + return gameData; + } + + private GameData offerJoinedGame(UUID id, String host, String player) { + GameSettings gsettings = new GameSettings(); + PlayerSettings psettings = new PlayerSettings(host, Color.BLACK); + psettings.setType(Type.HUMAN); + gsettings.getPlayerList().add(psettings); + PlayerSettings psettings2 = new PlayerSettings(player, Color.RED); + psettings2.setType(Type.NETWORK); + gsettings.getPlayerList().add(psettings2); + GameData gameData = new GameData(id, gsettings, host); + mockConnection.gameOfferEvent.emit(gameData); + return gameData; + } } -- cgit v1.2.3