Test für game join control
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@478 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
f641b76bca
commit
4ddf87fc96
3 changed files with 86 additions and 3 deletions
|
@ -41,6 +41,8 @@ public class MockConnectionControl implements IConnectionControl {
|
||||||
public boolean failOnConnect;
|
public boolean failOnConnect;
|
||||||
/** */
|
/** */
|
||||||
public GameData joinedGame;
|
public GameData joinedGame;
|
||||||
|
/** */
|
||||||
|
public Color playerColor;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getNickname() {
|
public String getNickname() {
|
||||||
|
@ -142,7 +144,6 @@ public class MockConnectionControl implements IConnectionControl {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void changeColor(Color color) {
|
public void changeColor(Color color) {
|
||||||
// TODO Auto-generated method stub
|
playerColor = color;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,7 +76,9 @@ public class MockSettingsPanel implements ISettingsPanel {
|
||||||
public int highestValue;
|
public int highestValue;
|
||||||
/** */
|
/** */
|
||||||
public Set<StoneColor> stoneColors;
|
public Set<StoneColor> stoneColors;
|
||||||
private MockEvent backEvent = new MockEvent();
|
/** */
|
||||||
|
public MockEvent backEvent = new MockEvent();
|
||||||
|
/** */
|
||||||
public SettingsMode settingsMode;
|
public SettingsMode settingsMode;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,6 +1,86 @@
|
||||||
package jrummikub.control.network;
|
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 {
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue