This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
JRummikub/test/jrummikub/control/network/GameOfferControlTest.java
Matthias Schiffer f3f8ffe462 Added NetworkGameControl
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@503 72836036-5685-4462-b002-a69064685172
2011-06-20 03:59:04 +02:00

86 lines
2.5 KiB
Java

package jrummikub.control.network;
import static org.junit.Assert.*;
import java.awt.Color;
import java.util.UUID;
import jrummikub.model.PlayerSettings.Type;
import jrummikub.util.LoginData;
import jrummikub.view.ISettingsPanel.SettingsMode;
import jrummikub.view.MockView;
import org.junit.Before;
import org.junit.Test;
/**
* Test class for game offer control
*/
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, null, 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);
}
/** */
@Test
public void getJoinLeaveTest() {
view.gameListPanel.openNewGameEvent.emit();
view.settingsPanel.offerGameEvent.emit();
mockConnection.gameJoinEvent.emit("Berta");
assertEquals("Berta", mockConnection.offeredGame.getGameSettings()
.getPlayerList().get(1).getName());
assertSame(Type.NETWORK, mockConnection.offeredGame.getGameSettings()
.getPlayerList().get(1).getType());
mockConnection.changeColorEvent.emit("Berta", Color.BLUE);
assertEquals(Color.BLUE, mockConnection.offeredGame.getGameSettings()
.getPlayerList().get(1).getColor());
mockConnection.gameLeaveEvent.emit("Berta");
assertEquals("Offen", mockConnection.offeredGame.getGameSettings()
.getPlayerList().get(1).getName());
assertSame(Type.VACANT, mockConnection.offeredGame.getGameSettings()
.getPlayerList().get(1).getType());
}
}