diff options
author | Timothée Floure | 2016-05-27 13:47:51 +0200 |
---|---|---|
committer | Timothée Floure | 2016-05-27 13:47:51 +0200 |
commit | e7382c3c2a28109b18492e9a62265c51b1be94dd (patch) | |
tree | 68b75b4968f74ddde01d012cccc5cf596a823ec0 /test | |
parent | 7d9c28e25d5b0965171f4b347852a11fdf01482e (diff) | |
parent | a82a8ba2611378ff6fb1cd226fb3d579d43d6e89 (diff) | |
download | xblast-e7382c3c2a28109b18492e9a62265c51b1be94dd.tar.gz |
11 network
See merge request !11
Diffstat (limited to 'test')
-rw-r--r-- | test/ch/epfl/xblast/client/PlayerTest.java | 40 | ||||
-rw-r--r-- | test/ch/epfl/xblast/simulation/GraphicalSimulation.java | 19 |
2 files changed, 41 insertions, 18 deletions
diff --git a/test/ch/epfl/xblast/client/PlayerTest.java b/test/ch/epfl/xblast/client/PlayerTest.java new file mode 100644 index 0000000..fdf065e --- /dev/null +++ b/test/ch/epfl/xblast/client/PlayerTest.java | |||
@@ -0,0 +1,40 @@ | |||
1 | package ch.epfl.xblast.client; | ||
2 | |||
3 | import ch.epfl.xblast.Lists; | ||
4 | import ch.epfl.xblast.PlayerID; | ||
5 | import ch.epfl.xblast.SubCell; | ||
6 | import org.junit.Assert; | ||
7 | import org.junit.Test; | ||
8 | |||
9 | import java.util.Arrays; | ||
10 | import java.util.List; | ||
11 | |||
12 | /** | ||
13 | * @author Timothée FLOURE (257420) | ||
14 | */ | ||
15 | public class PlayerTest { | ||
16 | |||
17 | private static final GameState.Player PLAYER_1 = new GameState.Player(PlayerID.PLAYER_1, 5, new SubCell(1,50), null); | ||
18 | private static final GameState.Player PLAYER_2 = new GameState.Player(PlayerID.PLAYER_2, 5, new SubCell(20,20), null); | ||
19 | private static final GameState.Player PLAYER_3 = new GameState.Player(PlayerID.PLAYER_3, 5, new SubCell(20,20), null); | ||
20 | private static final GameState.Player PLAYER_4 = new GameState.Player(PlayerID.PLAYER_4, 5, new SubCell(30,10), null); | ||
21 | |||
22 | private static final PlayerID CURRENT_PLAYER = PlayerID.PLAYER_3; | ||
23 | |||
24 | |||
25 | @Test | ||
26 | public void clientPlayerOder() { | ||
27 | List<GameState.Player> players = Arrays.asList(PLAYER_1,PLAYER_2,PLAYER_3,PLAYER_4); | ||
28 | List<GameState.Player> expectedOrder = Arrays.asList(PLAYER_4,PLAYER_2,PLAYER_3,PLAYER_1); | ||
29 | |||
30 | // Order the players | ||
31 | List<GameState.Player> computedOrder = Lists.sorted( | ||
32 | players, | ||
33 | GameState.Player | ||
34 | .POSITION_COMPARATOR | ||
35 | .thenComparing(GameState.Player.idPushingComparator(CURRENT_PLAYER))); | ||
36 | |||
37 | // Assert | ||
38 | Assert.assertEquals(expectedOrder,computedOrder); | ||
39 | } | ||
40 | } | ||
diff --git a/test/ch/epfl/xblast/simulation/GraphicalSimulation.java b/test/ch/epfl/xblast/simulation/GraphicalSimulation.java index 9329cc7..1d15fe5 100644 --- a/test/ch/epfl/xblast/simulation/GraphicalSimulation.java +++ b/test/ch/epfl/xblast/simulation/GraphicalSimulation.java | |||
@@ -12,11 +12,7 @@ import ch.epfl.xblast.server.painter.BoardPainter; | |||
12 | 12 | ||
13 | import javax.swing.*; | 13 | import javax.swing.*; |
14 | import java.awt.*; | 14 | import java.awt.*; |
15 | import java.awt.event.KeyEvent; | ||
16 | import java.util.Collections; | ||
17 | import java.util.HashMap; | ||
18 | import java.util.List; | 15 | import java.util.List; |
19 | import java.util.Map; | ||
20 | import java.util.function.Consumer; | 16 | import java.util.function.Consumer; |
21 | 17 | ||
22 | /** | 18 | /** |
@@ -31,19 +27,6 @@ public class GraphicalSimulation extends Simulation { | |||
31 | private static final Consumer<PlayerAction> PLAYER_ACTION_CONSUMER = System.out::println; | 27 | private static final Consumer<PlayerAction> PLAYER_ACTION_CONSUMER = System.out::println; |
32 | private static final PlayerID MAIN_PLAYER = PlayerID.PLAYER_1; | 28 | private static final PlayerID MAIN_PLAYER = PlayerID.PLAYER_1; |
33 | 29 | ||
34 | private static Map<Integer, PlayerAction> buildPlayerActionMap() { | ||
35 | Map<Integer, PlayerAction> playerActionMap = new HashMap<>(); | ||
36 | |||
37 | playerActionMap.put(KeyEvent.VK_UP, PlayerAction.MOVE_N); | ||
38 | playerActionMap.put(KeyEvent.VK_RIGHT, PlayerAction.MOVE_E); | ||
39 | playerActionMap.put(KeyEvent.VK_DOWN, PlayerAction.MOVE_S); | ||
40 | playerActionMap.put(KeyEvent.VK_LEFT, PlayerAction.MOVE_W); | ||
41 | playerActionMap.put(KeyEvent.VK_SPACE, PlayerAction.DROP_BOMB); | ||
42 | playerActionMap.put(KeyEvent.VK_SHIFT, PlayerAction.STOP); | ||
43 | |||
44 | return Collections.unmodifiableMap(playerActionMap); | ||
45 | } | ||
46 | |||
47 | private static ch.epfl.xblast.client.GameState translateToClientData(GameState gs) { | 30 | private static ch.epfl.xblast.client.GameState translateToClientData(GameState gs) { |
48 | List<Byte> serializedGameState = GameStateSerializer.serialize(BOARD_PAINTER, gs); | 31 | List<Byte> serializedGameState = GameStateSerializer.serialize(BOARD_PAINTER, gs); |
49 | return GameStateDeserializer.deserialize(serializedGameState); | 32 | return GameStateDeserializer.deserialize(serializedGameState); |
@@ -61,7 +44,7 @@ public class GraphicalSimulation extends Simulation { | |||
61 | } | 44 | } |
62 | 45 | ||
63 | private void attachKeyboardHandler(Component comp) { | 46 | private void attachKeyboardHandler(Component comp) { |
64 | comp.addKeyListener(new KeyboardEventHandler(buildPlayerActionMap(), PLAYER_ACTION_CONSUMER)); | 47 | comp.addKeyListener(new KeyboardEventHandler(PLAYER_ACTION_CONSUMER)); |
65 | comp.requestFocusInWindow(); | 48 | comp.requestFocusInWindow(); |
66 | } | 49 | } |
67 | 50 | ||