diff options
Diffstat (limited to 'test/jrummikub/control')
-rw-r--r-- | test/jrummikub/control/network/GameOfferControlTest.java | 56 | ||||
-rw-r--r-- | test/jrummikub/control/network/NetworkSettingsControlTest.java | 62 |
2 files changed, 118 insertions, 0 deletions
diff --git a/test/jrummikub/control/network/GameOfferControlTest.java b/test/jrummikub/control/network/GameOfferControlTest.java index 4d1d5e6..105c435 100644 --- a/test/jrummikub/control/network/GameOfferControlTest.java +++ b/test/jrummikub/control/network/GameOfferControlTest.java @@ -1,6 +1,62 @@ package jrummikub.control.network; +import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +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.MockView; +import jrummikub.view.ISettingsPanel.SettingsMode; + +import org.junit.Before; +import org.junit.Test; public class GameOfferControlTest { + 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 withdrawGameTest() { + view.gameListPanel.openNewGameEvent.emit(); + assertFalse(view.isGameListPanelVisible); + assertTrue(view.isSettingsPanelVisible); + assertEquals(SettingsMode.NETWORK_SETUP, + view.settingsPanel.settingsMode); + view.settingsPanel.offerGameEvent.emit(); + assertEquals(SettingsMode.NETWORK_OFFER, + view.settingsPanel.settingsMode); + view.settingsPanel.changePlayerColorEvent.emit(0, Color.PINK); + assertEquals(Color.PINK, mockConnection.playerColor); + view.settingsPanel.backEvent.emit(); + assertFalse(view.isSettingsPanelVisible); + assertTrue(view.isGameListPanelVisible); + } } diff --git a/test/jrummikub/control/network/NetworkSettingsControlTest.java b/test/jrummikub/control/network/NetworkSettingsControlTest.java index 799890d..ec11960 100644 --- a/test/jrummikub/control/network/NetworkSettingsControlTest.java +++ b/test/jrummikub/control/network/NetworkSettingsControlTest.java @@ -1,6 +1,68 @@ package jrummikub.control.network; +import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.util.UUID; + +import jrummikub.model.PlayerSettings.Type; +import jrummikub.util.LoginData; +import jrummikub.view.MockView; +import jrummikub.view.ISettingsPanel.SettingsMode; + +import org.junit.Before; +import org.junit.Test; + public class NetworkSettingsControlTest { + 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 networkSettingsTest() { + view.gameListPanel.openNewGameEvent.emit(); + assertFalse(view.isGameListPanelVisible); + assertTrue(view.isSettingsPanelVisible); + assertEquals(SettingsMode.NETWORK_SETUP, view.settingsPanel.settingsMode); + view.settingsPanel.addPlayerEvent.emit(); + view.settingsPanel.addPlayerEvent.emit(); + view.settingsPanel.changePlayerTypeEvent.emit(1, Type.VACANT); + view.settingsPanel.changePlayerTypeEvent.emit(2, Type.COMPUTER); + view.settingsPanel.changeJokerNumberEvent.emit(4); + view.settingsPanel.changeHighestValueEvent.emit(10); + view.settingsPanel.offerGameEvent.emit(); + + assertEquals(SettingsMode.NETWORK_OFFER, view.settingsPanel.settingsMode); + + assertEquals(4, mockConnection.offeredGame.getGameSettings().getPlayerList().size()); + assertSame(Type.VACANT, mockConnection.offeredGame.getGameSettings().getPlayerList().get(1).getType()); + assertSame(Type.COMPUTER, mockConnection.offeredGame.getGameSettings().getPlayerList().get(2).getType()); + assertSame(Type.VACANT, mockConnection.offeredGame.getGameSettings().getPlayerList().get(3).getType()); + assertEquals(4, mockConnection.offeredGame.getGameSettings().getJokerNumber()); + assertEquals(10, mockConnection.offeredGame.getGameSettings().getHighestValue()); + } + } |