Mock ist wieder heile und es gibt Tests für die LoginControl... und eine LoginControl
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@397 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
9c281a73c0
commit
8e24819d86
5 changed files with 193 additions and 4 deletions
45
mock/jrummikub/util/MockEvent3.java
Normal file
45
mock/jrummikub/util/MockEvent3.java
Normal file
|
@ -0,0 +1,45 @@
|
|||
package jrummikub.util;
|
||||
|
||||
import java.util.HashSet;
|
||||
|
||||
/**
|
||||
* Mock class for Event2s
|
||||
*
|
||||
* @param <T1>
|
||||
* first event type
|
||||
* @param <T2>
|
||||
* second event type
|
||||
*/
|
||||
public class MockEvent3<T1, T2, T3> implements IEvent3<T1, T2, T3> {
|
||||
/** */
|
||||
public HashSet<IListener3<T1, T2, T3>> listeners = new HashSet<IListener3<T1, T2, T3>>();
|
||||
|
||||
@Override
|
||||
public Connection add(final IListener3<T1, T2, T3> listener) {
|
||||
listeners.add(listener);
|
||||
return new Connection() {
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
MockEvent3.this.remove(listener);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(IListener3<T1, T2, T3> listener) {
|
||||
listeners.remove(listener);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param value1
|
||||
* the first event parameter
|
||||
* @param value2
|
||||
* the second event parameter
|
||||
*/
|
||||
public void emit(T1 value1, T2 value2, T3 value3) {
|
||||
for (IListener3<T1, T2, T3> listener : listeners) {
|
||||
listener.handle(value1, value2, value3);
|
||||
}
|
||||
}
|
||||
}
|
24
mock/jrummikub/view/MockLoginPanel.java
Normal file
24
mock/jrummikub/view/MockLoginPanel.java
Normal file
|
@ -0,0 +1,24 @@
|
|||
package jrummikub.view;
|
||||
|
||||
import jrummikub.util.IEvent;
|
||||
import jrummikub.util.IEvent3;
|
||||
import jrummikub.util.MockEvent;
|
||||
import jrummikub.util.MockEvent3;
|
||||
/** */
|
||||
public class MockLoginPanel implements ILoginPanel {
|
||||
/** */
|
||||
public MockEvent3<String, String, String> loginEvent = new MockEvent3<String, String, String>();
|
||||
/** */
|
||||
public MockEvent cancelEvent = new MockEvent();
|
||||
|
||||
@Override
|
||||
public IEvent3<String, String, String> getLoginEvent() {
|
||||
return loginEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent getCancelEvent() {
|
||||
return cancelEvent;
|
||||
}
|
||||
|
||||
}
|
|
@ -24,6 +24,14 @@ public class MockView implements IView {
|
|||
public MockTablePanel tablePanel = new MockTablePanel();
|
||||
/** */
|
||||
public MockHandPanel handPanel = new MockHandPanel();
|
||||
/** */
|
||||
public MockLoginPanel loginPanel = new MockLoginPanel();
|
||||
/** */
|
||||
public boolean isSettingsPanelVisible = false;
|
||||
/** */
|
||||
public boolean isScorePanelVisible = false;
|
||||
/** */
|
||||
public boolean isLoginPanelVisible = false;
|
||||
|
||||
/** */
|
||||
public Collection<Stone> selectedStones;
|
||||
|
@ -53,6 +61,8 @@ public class MockView implements IView {
|
|||
public MockEvent pauseEvent = new MockEvent();
|
||||
/** */
|
||||
public MockEvent endPauseEvent = new MockEvent();
|
||||
/** */
|
||||
public MockEvent networkGameEvent = new MockEvent();
|
||||
|
||||
@Override
|
||||
public MockTablePanel getTablePanel() {
|
||||
|
@ -101,8 +111,7 @@ public class MockView implements IView {
|
|||
|
||||
@Override
|
||||
public void showSettingsPanel(boolean show) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
isSettingsPanelVisible = show;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -112,8 +121,7 @@ public class MockView implements IView {
|
|||
|
||||
@Override
|
||||
public void showScorePanel(boolean show) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
isScorePanelVisible = show;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -177,4 +185,20 @@ public class MockView implements IView {
|
|||
public IEvent getEndPauseEvent() {
|
||||
return endPauseEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent getNetworkGameEvent() {
|
||||
return networkGameEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ILoginPanel getLoginPanel() {
|
||||
return loginPanel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showLoginPanel(boolean show) {
|
||||
isLoginPanelVisible = show;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
26
src/jrummikub/control/network/LoginControl.java
Normal file
26
src/jrummikub/control/network/LoginControl.java
Normal file
|
@ -0,0 +1,26 @@
|
|||
package jrummikub.control.network;
|
||||
|
||||
import jrummikub.util.Event;
|
||||
import jrummikub.util.Event3;
|
||||
import jrummikub.util.IEvent;
|
||||
import jrummikub.util.IEvent3;
|
||||
import jrummikub.view.IView;
|
||||
|
||||
public class LoginControl {
|
||||
private IView view;
|
||||
private Event3<String, String, String> loginEvent = new Event3<String, String, String>();
|
||||
private Event cancelEvent = new Event();
|
||||
|
||||
public LoginControl(IView view) {
|
||||
this.view = view;
|
||||
}
|
||||
|
||||
public IEvent3<String, String, String> getLoginEvent() {
|
||||
return loginEvent;
|
||||
}
|
||||
|
||||
public IEvent getCancelEvent() {
|
||||
return cancelEvent;
|
||||
}
|
||||
|
||||
}
|
70
test/jrummikub/control/network/LoginControlTest.java
Normal file
70
test/jrummikub/control/network/LoginControlTest.java
Normal file
|
@ -0,0 +1,70 @@
|
|||
package jrummikub.control.network;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import jrummikub.util.IListener;
|
||||
import jrummikub.util.IListener3;
|
||||
import jrummikub.view.MockView;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
/** */
|
||||
public class LoginControlTest {
|
||||
MockView view;
|
||||
LoginControl loginControl;
|
||||
boolean handled = false;
|
||||
|
||||
/** */
|
||||
@Before
|
||||
public void setup() {
|
||||
view = new MockView();
|
||||
loginControl = new LoginControl(view);
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void panelVisibleTest() {
|
||||
assertFalse(view.isSettingsPanelVisible);
|
||||
assertTrue(view.isLoginPanelVisible);
|
||||
assertFalse(view.isScorePanelVisible);
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void loginEventTest() {
|
||||
loginControl.getLoginEvent().add(
|
||||
new IListener3<String, String, String>() {
|
||||
@Override
|
||||
public void handle(String value1, String value2,
|
||||
String value3) {
|
||||
assertEquals("a", value1);
|
||||
assertEquals("b", value2);
|
||||
assertEquals("c", value3);
|
||||
handled = true;
|
||||
}
|
||||
});
|
||||
view.loginPanel.loginEvent.emit("a", "b", "c");
|
||||
assertTrue(handled);
|
||||
assertFalse(view.isLoginPanelVisible);
|
||||
assertFalse(view.isScorePanelVisible);
|
||||
assertFalse(view.isSettingsPanelVisible);
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void cancelEventTest() {
|
||||
loginControl.getCancelEvent().add(
|
||||
new IListener() {
|
||||
@Override
|
||||
public void handle() {
|
||||
handled = true;
|
||||
}
|
||||
});
|
||||
view.loginPanel.cancelEvent.emit();
|
||||
assertTrue(handled);
|
||||
assertFalse(view.isLoginPanelVisible);
|
||||
assertFalse(view.isScorePanelVisible);
|
||||
assertFalse(view.isSettingsPanelVisible);
|
||||
|
||||
}
|
||||
}
|
Reference in a new issue