From d60cd3c353b4132e3d37122a274ecc3cbe43b78e Mon Sep 17 00:00:00 2001 From: Timothée Floure Date: Sat, 30 Apr 2016 17:33:41 +0200 Subject: Fix the GameStateSerializer (comply with the subject) --- test/ch/epfl/xblast/GameStateSerializerTest.java | 44 ++++++++++++++++++------ 1 file changed, 33 insertions(+), 11 deletions(-) (limited to 'test/ch/epfl') diff --git a/test/ch/epfl/xblast/GameStateSerializerTest.java b/test/ch/epfl/xblast/GameStateSerializerTest.java index a701d2b..881b1ec 100644 --- a/test/ch/epfl/xblast/GameStateSerializerTest.java +++ b/test/ch/epfl/xblast/GameStateSerializerTest.java @@ -5,9 +5,11 @@ import ch.epfl.xblast.server.Level; import org.junit.Assert; import org.junit.Test; +import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * @author Timothée FLOURE (257420) @@ -15,25 +17,45 @@ import java.util.List; public class GameStateSerializerTest { @Test - public void GameStateSerializerTest() { - List integerExpectedValues = Arrays.asList(121, -50, 2, 1, -2, 0, 3, 1, 3, 1, -2, 0, 1, 1, 3, 1, 3, + public void IntialGameStateSerializationTest() { + List sourceValues = Arrays.asList( + // Serialized Board + 121, -50, 2, 1, -2, 0, 3, 1, 3, 1, -2, 0, 1, 1, 3, 1, 3, 1, 3, 1, 1, -2, 0, 1, 3, 1, 3, -2, 0, -1, 1, 3, 1, 3, 1, 3, 1, 1, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 1, 0, 0, 3, 1, 3, 1, 0, 0, 1, 1, 3, 1, 1, 0, 0, 1, 3, 1, 3, 0, 0, -1, 1, 3, 1, 1, -5, 2, 3, 2, 3, -5, 2, 3, 2, - 3, 1, -2, 0, 3, -2, 0, 1, 3, 2, 1, 2, 4, -128, 16, -63, - 16, 3, 24, 24, 6, 3, -40, 24, 26, 3, -40, -72, 46, 3, 24, - -72, 66, 60); - List expectedValues = new ArrayList<>(); + 3, 1, -2, 0, 3, -2, 0, 1, 3, 2, 1, 2, + // Explosions (blasts & bombs) + 4, -128, 16, -63, 16, + // Players + 3, 24, 24, 6, + 3, -40, 24, 26, + 3, -40, -72, 46, + 3, 24, -72, 66, + // Ticks + 60); - for (Integer i : integerExpectedValues) { - expectedValues.add((byte) i.intValue()); - } + // Build a List of Bytes from the Expected Values + List expectedValues = sourceValues.stream().map(i -> (byte) i.intValue()).collect(Collectors.toList()); + // Get the actual values + List actualValues = GameStateSerializer.serialize( + Level.DEFAULT_LEVEL.painter(), + Level.DEFAULT_LEVEL.initialState() + ); + + // Check the first element (number of elements) + Assert.assertEquals( + Byte.toUnsignedInt(expectedValues.get(0)), + Byte.toUnsignedInt(actualValues.get(0)) + ); + + // Check the rest of the data chunk Assert.assertEquals( - expectedValues, - GameStateSerializer.serialize(Level.DEFAULT_LEVEL.painter(), Level.DEFAULT_LEVEL.initialState()) + expectedValues.subList(1,expectedValues.size()), + actualValues.subList(1,expectedValues.size()) ); } } -- cgit v1.2.3