From 4f71c5cb4700b39d816c6a4ae123ad94fef456df Mon Sep 17 00:00:00 2001 From: Ida Massow Date: Fri, 17 Jun 2011 20:00:43 +0200 Subject: Kommentare und 2 Methoden, die jetzt kurz genug sind git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@446 72836036-5685-4462-b002-a69064685172 --- mock/jrummikub/util/MockEvent3.java | 12 ++-- mock/jrummikub/view/MockGameListPanel.java | 3 + src/jrummikub/control/AbstractSettingsControl.java | 71 ++++++++++++---------- src/jrummikub/util/Pair.java | 2 +- src/jrummikub/view/IGameListPanel.java | 8 ++- src/jrummikub/view/ISettingsPanel.java | 21 ++++--- src/jrummikub/view/IView.java | 48 +++++++++++++++ src/jrummikub/view/impl/GameListPanel.java | 16 +++-- test/jrummikub/control/SaveControlTest.java | 5 ++ test/jrummikub/model/StoneSetTest.java | 23 ++++--- 10 files changed, 149 insertions(+), 60 deletions(-) diff --git a/mock/jrummikub/util/MockEvent3.java b/mock/jrummikub/util/MockEvent3.java index fa1d105..62c3ed9 100644 --- a/mock/jrummikub/util/MockEvent3.java +++ b/mock/jrummikub/util/MockEvent3.java @@ -6,9 +6,11 @@ import java.util.HashSet; * Mock class for Event2s * * @param - * first event type + * first event type * @param - * second event type + * second event type + * @param + * third event type */ public class MockEvent3 implements IEvent3 { /** */ @@ -33,9 +35,11 @@ public class MockEvent3 implements IEvent3 { /** * @param value1 - * the first event parameter + * the first event parameter * @param value2 - * the second event parameter + * the second event parameter + * @param value3 + * the third event parameter */ public void emit(T1 value1, T2 value2, T3 value3) { for (IListener3 listener : listeners) { diff --git a/mock/jrummikub/view/MockGameListPanel.java b/mock/jrummikub/view/MockGameListPanel.java index edb1bdc..d578df3 100644 --- a/mock/jrummikub/view/MockGameListPanel.java +++ b/mock/jrummikub/view/MockGameListPanel.java @@ -10,8 +10,11 @@ import jrummikub.util.MockEvent1; /** */ public class MockGameListPanel implements IGameListPanel { + /** */ public MockEvent1 joinEvent = new MockEvent1(); + /** */ public MockEvent openNewGameEvent = new MockEvent(); + /** */ public MockEvent cancelEvent = new MockEvent(); @Override diff --git a/src/jrummikub/control/AbstractSettingsControl.java b/src/jrummikub/control/AbstractSettingsControl.java index ff43ce2..79f8274 100644 --- a/src/jrummikub/control/AbstractSettingsControl.java +++ b/src/jrummikub/control/AbstractSettingsControl.java @@ -17,6 +17,10 @@ import jrummikub.util.IListener2; import jrummikub.view.ISettingsPanel; import jrummikub.view.IView; +/** + * Abstract control class managing joined methods and attributes of all + * different (network, default...) settings controls + */ public abstract class AbstractSettingsControl { protected IView view; protected List connections = new ArrayList(); @@ -45,15 +49,15 @@ public abstract class AbstractSettingsControl { } private void addPlayerSettingsListeners() { - connections.add(view.getSettingsPanel().getAddPlayerEvent() - .add(new IListener() { + connections.add(view.getSettingsPanel().getAddPlayerEvent().add( + new IListener() { @Override public void handle() { addPlayer(); } })); - connections.add(view.getSettingsPanel().getRemovePlayerEvent() - .add(new IListener1() { + connections.add(view.getSettingsPanel().getRemovePlayerEvent().add( + new IListener1() { @Override public void handle(Integer i) { removePlayer(i); @@ -66,32 +70,32 @@ public abstract class AbstractSettingsControl { setPlayerColor(i, color); } })); - connections.add(view.getSettingsPanel().getChangePlayerNameEvent() - .add(new IListener2() { + connections.add(view.getSettingsPanel().getChangePlayerNameEvent().add( + new IListener2() { @Override public void handle(Integer i, String name) { setPlayerName(i, name); } })); - connections.add(view.getSettingsPanel().getChangePlayerTypeEvent() - .add(new IListener2() { + connections.add(view.getSettingsPanel().getChangePlayerTypeEvent().add( + new IListener2() { @Override public void handle(Integer i, Type type) { setPlayerType(i, type); } })); } - + private void addOptionListeners1() { connections.add(view.getSettingsPanel() - .getChangeInitialMeldThresholdEvent() - .add(new IListener1() { - @Override - public void handle(Integer value) { - settings.setInitialMeldThreshold(value); - update(); - } - })); + .getChangeInitialMeldThresholdEvent().add( + new IListener1() { + @Override + public void handle(Integer value) { + settings.setInitialMeldThreshold(value); + update(); + } + })); connections.add(view.getSettingsPanel().getChangeJokerNumberEvent() .add(new IListener1() { @@ -111,14 +115,14 @@ public abstract class AbstractSettingsControl { } })); connections.add(view.getSettingsPanel() - .getChangeNumberOfStonesDealtEvent() - .add(new IListener1() { - @Override - public void handle(Integer value) { - settings.setNumberOfStonesDealt(value); - update(); - } - })); + .getChangeNumberOfStonesDealtEvent().add( + new IListener1() { + @Override + public void handle(Integer value) { + settings.setNumberOfStonesDealt(value); + update(); + } + })); } private void addOptionListeners2() { @@ -130,8 +134,8 @@ public abstract class AbstractSettingsControl { update(); } })); - connections.add(view.getSettingsPanel().getChangeTimeEvent() - .add(new IListener1() { + connections.add(view.getSettingsPanel().getChangeTimeEvent().add( + new IListener1() { @Override public void handle(Integer value) { settings.setTotalTime(value); @@ -147,8 +151,8 @@ public abstract class AbstractSettingsControl { } })); - connections.add(view.getSettingsPanel().getChangeNoLimitsEvent() - .add(new IListener1() { + connections.add(view.getSettingsPanel().getChangeNoLimitsEvent().add( + new IListener1() { @Override public void handle(Boolean value) { settings.setNoLimits(value); @@ -182,7 +186,7 @@ public abstract class AbstractSettingsControl { } })); } - + /** * Start the operation of the settings control */ @@ -231,7 +235,7 @@ public abstract class AbstractSettingsControl { settings.getPlayerList().remove(i); update(); } - + protected boolean checkSettings() { if (!checkName()) { return false; @@ -269,7 +273,8 @@ public abstract class AbstractSettingsControl { for (int j = i + 1; j < settings.getPlayerList().size(); ++j) { PlayerSettings player2 = settings.getPlayerList().get(j); if (player2.getName().equals(name) && player2.getType() == type) { - view.getSettingsPanel() + view + .getSettingsPanel() .setError( ISettingsPanel.SettingsError.DUPLICATE_PLAYER_NAME_ERROR); view.getSettingsPanel().enableStartGameButton(false); @@ -325,7 +330,7 @@ public abstract class AbstractSettingsControl { return; } } - + /** * Abort settings control once settings are set */ diff --git a/src/jrummikub/util/Pair.java b/src/jrummikub/util/Pair.java index 80b9ea0..5ebc7f2 100644 --- a/src/jrummikub/util/Pair.java +++ b/src/jrummikub/util/Pair.java @@ -61,6 +61,7 @@ public class Pair implements Serializable { return result; } + @SuppressWarnings("unchecked") @Override public boolean equals(Object obj) { if (this == obj) @@ -69,7 +70,6 @@ public class Pair implements Serializable { return false; if (getClass() != obj.getClass()) return false; - @SuppressWarnings("rawtypes") Pair other = (Pair) obj; if (first == null) { if (other.first != null) diff --git a/src/jrummikub/view/IGameListPanel.java b/src/jrummikub/view/IGameListPanel.java index 8a05546..47de90e 100644 --- a/src/jrummikub/view/IGameListPanel.java +++ b/src/jrummikub/view/IGameListPanel.java @@ -35,9 +35,15 @@ public interface IGameListPanel { * Sets the channel name * * @param name - * channel name + * channel name */ public void setChannelName(String name); + /** + * Set the games (host and player count) into the game list + * + * @param games + * list of game data + */ public void setGameList(List games); } diff --git a/src/jrummikub/view/ISettingsPanel.java b/src/jrummikub/view/ISettingsPanel.java index d01129e..c52d72c 100644 --- a/src/jrummikub/view/ISettingsPanel.java +++ b/src/jrummikub/view/ISettingsPanel.java @@ -37,10 +37,10 @@ public interface ISettingsPanel { }; /** - * enables the start of a network game at a given point in game + * Sets the settings mode according to the point of the game * - * @param enable - * starting a network game + * @param mode + * settings mode to be set (join, offer, network, default) */ public void setSettingsMode(SettingsMode mode); @@ -237,6 +237,12 @@ public interface ISettingsPanel { */ public IEvent getOfferGameEvent(); + /** + * Sets the player colors which can be chosen + * + * @param colors + * a Set of colors which are not taken yet + */ public void setPlayerColors(Set colors); /** @@ -260,13 +266,14 @@ public interface ISettingsPanel { /** Only computer players added */ COMPUTER_PLAYERS_ONLY_WARNING } - + /** - * SettingsPanel can be used with different functions in different situations + * SettingsPanel can be used with different functions in different + * situations */ public enum SettingsMode { - /**Local game settings */ - DEFAULT, + /** Local game settings */ + DEFAULT, /** */ NETWORK_SETUP, /** */ diff --git a/src/jrummikub/view/IView.java b/src/jrummikub/view/IView.java index 1121b44..33f6284 100644 --- a/src/jrummikub/view/IView.java +++ b/src/jrummikub/view/IView.java @@ -162,22 +162,70 @@ public interface IView { */ public IEvent1 getSaveEvent(); + /** + * The pause event is emitted when the user wants to pause the current turn + * + * @return the event + */ public IEvent getPauseEvent(); + /** + * The end pause event is emitted when the user wants to sresume the game + * after a pause + * + * @return the event + */ public IEvent getEndPauseEvent(); + /** + * Hides all view elements and panels except for the cleared table and an + * empty hand panel + */ public void clearView(); + /** + * The network game event is emitted when the user chooses a network game + * + * @return the event + */ public IEvent getNetworkGameEvent(); + /** + * Getter for login panel + * + * @return login panel + */ public ILoginPanel getLoginPanel(); + /** + * Getter for game list panel + * + * @return game list panel + */ public IGameListPanel getGameListPanel(); + /** + * Show/hide login panel + * + * @param show + * true = login panel is shown + */ public void showLoginPanel(boolean show); + /** + * Enable/disable pause mode + * + * @param enable + * true = enable + */ public void enablePauseMode(boolean enable); + /** + * Show/hide game list panel + * + * @param show + * true = show + */ public void showGameListPanel(boolean show); /** diff --git a/src/jrummikub/view/impl/GameListPanel.java b/src/jrummikub/view/impl/GameListPanel.java index b7b170b..e1e1c9d 100644 --- a/src/jrummikub/view/impl/GameListPanel.java +++ b/src/jrummikub/view/impl/GameListPanel.java @@ -31,6 +31,8 @@ import jrummikub.util.IEvent1; import jrummikub.view.IGameListPanel; class GameListPanel extends JPanel implements IGameListPanel { + private static final long serialVersionUID = 1L; + private JLabel title; private JList gameList; private JButton joinButton; @@ -67,6 +69,13 @@ class GameListPanel extends JPanel implements IGameListPanel { c.weighty = 0; add(Box.createVerticalStrut(3), c); + addButtons(c); + + setBorder(new CompoundBorder(new LineBorder(Color.BLACK), + new EmptyBorder(10, 10, 10, 10))); + } + + private void addButtons(GridBagConstraints c) { joinButton = new JButton("Beitreten"); c.gridwidth = 1; add(joinButton, c); @@ -109,9 +118,6 @@ class GameListPanel extends JPanel implements IGameListPanel { cancelEvent.emit(); } }); - - setBorder(new CompoundBorder(new LineBorder(Color.BLACK), new EmptyBorder( - 10, 10, 10, 10))); } void reset() { @@ -157,6 +163,7 @@ class GameListPanel extends JPanel implements IGameListPanel { private static class GameDataCellRenderer extends JPanel implements ListCellRenderer { + private static final long serialVersionUID = -892701906163443927L; JLabel hostLabel, playerCountLabel; GameDataCellRenderer() { @@ -193,7 +200,8 @@ class GameListPanel extends JPanel implements IGameListPanel { int total = gameData.getGameSettings().getPlayerList().size(); int occupied = total; - for (PlayerSettings player : gameData.getGameSettings().getPlayerList()) { + for (PlayerSettings player : gameData.getGameSettings() + .getPlayerList()) { if (player.getType() == Type.VACANT) { occupied--; } diff --git a/test/jrummikub/control/SaveControlTest.java b/test/jrummikub/control/SaveControlTest.java index b2e0299..3ff5f42 100644 --- a/test/jrummikub/control/SaveControlTest.java +++ b/test/jrummikub/control/SaveControlTest.java @@ -20,7 +20,12 @@ import jrummikub.view.MockView; import org.junit.Test; +/** */ public class SaveControlTest { + /** + * @throws IOException + * if input cannot be saved/loaded + */ @Test public void testSaveLoad() throws IOException { GameSettings settings = new GameSettings(); diff --git a/test/jrummikub/model/StoneSetTest.java b/test/jrummikub/model/StoneSetTest.java index d82f8f2..6f6e698 100644 --- a/test/jrummikub/model/StoneSetTest.java +++ b/test/jrummikub/model/StoneSetTest.java @@ -54,8 +54,7 @@ public class StoneSetTest { // valid+point count /** */ @Test - public void doubleJokerValid() { - // 3 Stones + public void doubleJokerValid3Stones() { // JJZ assertSet(GROUP, 3, Arrays.asList(new Stone(RED), new Stone(BLACK), new Stone(1, BLACK)), defaultSettings); @@ -73,6 +72,11 @@ public class StoneSetTest { new Stone(BLACK)), defaultSettings); assertSet(RUN, 42, Arrays.asList(new Stone(13, RED), new Stone(RED), new Stone(BLACK)), higherValueSettings); + } + + /** */ + @Test + public void doubleJokerValid4Stones() { // 4 Stones // JJZZ assertSet(GROUP, 4, Arrays.asList(new Stone(RED), new Stone(BLACK), @@ -164,6 +168,7 @@ public class StoneSetTest { new Stone(13, RED), new Stone(RED)), higherValueSettings); } + /** */ @Test public void noLimitsTest() { assertSet(RUN, 16, Arrays.asList(new Stone(RED), new Stone(1, RED), @@ -245,9 +250,8 @@ public class StoneSetTest { new Stone(5, RED), new Stone(7, RED)), defaultSettings); assertSet(INVALID, 0, Arrays.asList(new Stone(4, RED), new Stone(5, BLUE), new Stone(6, RED)), defaultSettings); - assertSet(INVALID, 0, - Arrays.asList(new Stone(4, RED), new Stone(5, RED)), - defaultSettings); + assertSet(INVALID, 0, Arrays.asList(new Stone(4, RED), + new Stone(5, RED)), defaultSettings); assertSet(INVALID, 0, Arrays.asList(new Stone(4, BLUE), new Stone(5, RED), new Stone(6, RED)), defaultSettings); // Regression test: @@ -258,9 +262,8 @@ public class StoneSetTest { /** */ @Test public void manyJokersValid() { - assertSet(GROUP, 3 * 13, - Arrays.asList(new Stone(RED), new Stone(RED), new Stone(RED)), - defaultSettings); + assertSet(GROUP, 3 * 13, Arrays.asList(new Stone(RED), new Stone(RED), + new Stone(RED)), defaultSettings); assertSet(GROUP, 4 * 13, Arrays.asList(new Stone(RED), new Stone(RED), new Stone(RED), new Stone(RED)), defaultSettings); assertSet(RUN, 13 + 12 + 11 + 10 + 9, @@ -269,8 +272,8 @@ public class StoneSetTest { assertSet(RUN, 5 * 10, Arrays.asList(new Stone(RED), new Stone(RED), new Stone(RED), new Stone(RED), new Stone(12, RED)), defaultSettings); - assertSet(GROUP, 6 * 5, - Arrays.asList(new Stone(RED), new Stone(RED), new Stone(RED), + assertSet(GROUP, 6 * 5, Arrays + .asList(new Stone(RED), new Stone(RED), new Stone(RED), new Stone(RED), new Stone(RED), new Stone(AQUA)), moreColorLowerValueSettings); } -- cgit v1.2.3