diff options
-rw-r--r-- | src/ch/epfl/xblast/server/Board.java | 14 | ||||
-rw-r--r-- | test/ch/epfl/xblast/CellTest.java | 29 | ||||
-rw-r--r-- | test/ch/epfl/xblast/DirectionTest.java | 2 | ||||
-rw-r--r-- | test/ch/epfl/xblast/SubCellTest.java | 25 | ||||
-rw-r--r-- | test/ch/epfl/xblast/namecheck/NameCheck01.java | 11 | ||||
-rw-r--r-- | test/ch/epfl/xblast/namecheck/NameCheck02.java | 9 | ||||
-rw-r--r-- | test/ch/epfl/xblast/server/BlockTest.java | 5 | ||||
-rw-r--r-- | test/ch/epfl/xblast/server/BoardTest.java | 53 |
8 files changed, 86 insertions, 62 deletions
diff --git a/src/ch/epfl/xblast/server/Board.java b/src/ch/epfl/xblast/server/Board.java index bde0ae9..4d2e743 100644 --- a/src/ch/epfl/xblast/server/Board.java +++ b/src/ch/epfl/xblast/server/Board.java | |||
@@ -1,8 +1,8 @@ | |||
1 | package ch.epfl.xblast.server; | 1 | package ch.epfl.xblast.server; |
2 | 2 | ||
3 | import ch.epfl.cs108.Sq; | 3 | import ch.epfl.cs108.Sq; |
4 | import ch.epfl.xblast.Lists; | ||
5 | import ch.epfl.xblast.Cell; | 4 | import ch.epfl.xblast.Cell; |
5 | import ch.epfl.xblast.Lists; | ||
6 | 6 | ||
7 | import java.util.ArrayList; | 7 | import java.util.ArrayList; |
8 | import java.util.List; | 8 | import java.util.List; |
@@ -14,6 +14,7 @@ import java.util.List; | |||
14 | * @author Timothée FLOURE (257420) | 14 | * @author Timothée FLOURE (257420) |
15 | */ | 15 | */ |
16 | public final class Board { | 16 | public final class Board { |
17 | |||
17 | private static final int BLOCKS_LIST_SIZE = 195; | 18 | private static final int BLOCKS_LIST_SIZE = 195; |
18 | private static final int BOARD_ROWS = 13; | 19 | private static final int BOARD_ROWS = 13; |
19 | private static final int BOARD_COLUMNS = 15; | 20 | private static final int BOARD_COLUMNS = 15; |
@@ -23,10 +24,10 @@ public final class Board { | |||
23 | private static final int QUADRANT_COLUMNS = 7; | 24 | private static final int QUADRANT_COLUMNS = 7; |
24 | 25 | ||
25 | /** | 26 | /** |
26 | * Throw an exeption if the matrix does not have the given number of rows/columns. | 27 | * Throw an exception if the matrix does not have the given number of rows/columns. |
27 | * | 28 | * |
28 | * @param matrix the tested matrix | 29 | * @param matrix the tested matrix |
29 | * @param rows the expected number of rows | 30 | * @param rows the expected number of rows |
30 | * @param columns the expected number of columns | 31 | * @param columns the expected number of columns |
31 | * @throws IllegalArgumentException if the matrix does not comply with the given sizes. | 32 | * @throws IllegalArgumentException if the matrix does not comply with the given sizes. |
32 | */ | 33 | */ |
@@ -48,7 +49,7 @@ public final class Board { | |||
48 | private List<Sq<Block>> blocks; | 49 | private List<Sq<Block>> blocks; |
49 | 50 | ||
50 | /** | 51 | /** |
51 | * Instanciates a new Board with the given sequence of blocks. | 52 | * Instantiates a new Board with the given sequence of blocks. |
52 | * | 53 | * |
53 | * @param blocks sequence containing all the blocks of the Boards | 54 | * @param blocks sequence containing all the blocks of the Boards |
54 | * @throws IllegalArgumentException if the blocks is not composed of BLOC_LIST_SIZE elements | 55 | * @throws IllegalArgumentException if the blocks is not composed of BLOC_LIST_SIZE elements |
@@ -85,7 +86,7 @@ public final class Board { | |||
85 | * | 86 | * |
86 | * @param innerBlocks lists of the internal rows | 87 | * @param innerBlocks lists of the internal rows |
87 | * @return a new walled board filled with the given rows | 88 | * @return a new walled board filled with the given rows |
88 | * @throws IllegalArgumentException if innerbLocks is not INNER_BOARD_ROWS * INNER_BOARD_COLUMNS | 89 | * @throws IllegalArgumentException if innerBlocks is not INNER_BOARD_ROWS * INNER_BOARD_COLUMNS |
89 | */ | 90 | */ |
90 | public static Board ofInnerBlocksWalled(List<List<Block>> innerBlocks) { | 91 | public static Board ofInnerBlocksWalled(List<List<Block>> innerBlocks) { |
91 | checkBlockMatrix(innerBlocks, INNER_BOARD_ROWS, INNER_BOARD_COLUMNS); | 92 | checkBlockMatrix(innerBlocks, INNER_BOARD_ROWS, INNER_BOARD_COLUMNS); |
@@ -147,4 +148,5 @@ public final class Board { | |||
147 | public Block blockAt(Cell c) { | 148 | public Block blockAt(Cell c) { |
148 | return blocksAt(c).head(); | 149 | return blocksAt(c).head(); |
149 | } | 150 | } |
151 | |||
150 | } | 152 | } |
diff --git a/test/ch/epfl/xblast/CellTest.java b/test/ch/epfl/xblast/CellTest.java index ba8becc..c5d93e8 100644 --- a/test/ch/epfl/xblast/CellTest.java +++ b/test/ch/epfl/xblast/CellTest.java | |||
@@ -1,15 +1,19 @@ | |||
1 | package ch.epfl.xblast; | 1 | package ch.epfl.xblast; |
2 | 2 | ||
3 | import org.junit.Test; | ||
4 | |||
3 | import static org.junit.Assert.assertEquals; | 5 | import static org.junit.Assert.assertEquals; |
4 | import static org.junit.Assert.assertFalse; | 6 | import static org.junit.Assert.assertFalse; |
5 | 7 | ||
6 | import org.junit.Test; | 8 | /** |
7 | 9 | * @author EPFL | |
10 | */ | ||
8 | public class CellTest { | 11 | public class CellTest { |
12 | |||
9 | @Test | 13 | @Test |
10 | public void rowMajorIndexCorrespondsToOrder() { | 14 | public void rowMajorIndexCorrespondsToOrder() { |
11 | int i = 0; | 15 | int i = 0; |
12 | for (Cell c: Cell.ROW_MAJOR_ORDER) | 16 | for (Cell c : Cell.ROW_MAJOR_ORDER) |
13 | assertEquals(i++, c.rowMajorIndex()); | 17 | assertEquals(i++, c.rowMajorIndex()); |
14 | assertEquals(Cell.COUNT, i); | 18 | assertEquals(Cell.COUNT, i); |
15 | } | 19 | } |
@@ -19,7 +23,7 @@ public class CellTest { | |||
19 | assertEquals(Cell.COUNT, Cell.SPIRAL_ORDER.size()); | 23 | assertEquals(Cell.COUNT, Cell.SPIRAL_ORDER.size()); |
20 | 24 | ||
21 | boolean[] cellSeen = new boolean[Cell.COUNT]; | 25 | boolean[] cellSeen = new boolean[Cell.COUNT]; |
22 | for (Cell c: Cell.SPIRAL_ORDER) { | 26 | for (Cell c : Cell.SPIRAL_ORDER) { |
23 | assertFalse(cellSeen[c.rowMajorIndex()]); | 27 | assertFalse(cellSeen[c.rowMajorIndex()]); |
24 | cellSeen[c.rowMajorIndex()] = true; | 28 | cellSeen[c.rowMajorIndex()] = true; |
25 | } | 29 | } |
@@ -28,9 +32,9 @@ public class CellTest { | |||
28 | @Test | 32 | @Test |
29 | public void spiralOrderNeighborsAreSpatialNeighbors() { | 33 | public void spiralOrderNeighborsAreSpatialNeighbors() { |
30 | Cell pred = Cell.SPIRAL_ORDER.get(0); | 34 | Cell pred = Cell.SPIRAL_ORDER.get(0); |
31 | for (Cell c: Cell.SPIRAL_ORDER.subList(1, Cell.SPIRAL_ORDER.size())) { | 35 | for (Cell c : Cell.SPIRAL_ORDER.subList(1, Cell.SPIRAL_ORDER.size())) { |
32 | int areNeighborsCount = 0; | 36 | int areNeighborsCount = 0; |
33 | for (Direction d: Direction.values()) { | 37 | for (Direction d : Direction.values()) { |
34 | if (pred.equals(c.neighbor(d))) | 38 | if (pred.equals(c.neighbor(d))) |
35 | areNeighborsCount += 1; | 39 | areNeighborsCount += 1; |
36 | } | 40 | } |
@@ -51,18 +55,19 @@ public class CellTest { | |||
51 | @Test | 55 | @Test |
52 | public void neighborsOfOriginAreCorrect() { | 56 | public void neighborsOfOriginAreCorrect() { |
53 | Cell c = new Cell(0, 0); | 57 | Cell c = new Cell(0, 0); |
54 | assertEquals(new Cell( 0, 12), c.neighbor(Direction.N)); | 58 | assertEquals(new Cell(0, 12), c.neighbor(Direction.N)); |
55 | assertEquals(new Cell( 1, 0), c.neighbor(Direction.E)); | 59 | assertEquals(new Cell(1, 0), c.neighbor(Direction.E)); |
56 | assertEquals(new Cell( 0, 1), c.neighbor(Direction.S)); | 60 | assertEquals(new Cell(0, 1), c.neighbor(Direction.S)); |
57 | assertEquals(new Cell(14, 0), c.neighbor(Direction.W)); | 61 | assertEquals(new Cell(14, 0), c.neighbor(Direction.W)); |
58 | } | 62 | } |
59 | 63 | ||
60 | @Test | 64 | @Test |
61 | public void oppositeNeighborOfNeighborIsThis() { | 65 | public void oppositeNeighborOfNeighborIsThis() { |
62 | for (Cell c: Cell.ROW_MAJOR_ORDER) { | 66 | for (Cell c : Cell.ROW_MAJOR_ORDER) { |
63 | for (Direction d: Direction.values()) { | 67 | for (Direction d : Direction.values()) { |
64 | assertEquals(c, c.neighbor(d).neighbor(d.opposite())); | 68 | assertEquals(c, c.neighbor(d).neighbor(d.opposite())); |
65 | } | 69 | } |
66 | } | 70 | } |
67 | } | 71 | } |
72 | |||
68 | } | 73 | } |
diff --git a/test/ch/epfl/xblast/DirectionTest.java b/test/ch/epfl/xblast/DirectionTest.java index 0ebb3b7..49cf4be 100644 --- a/test/ch/epfl/xblast/DirectionTest.java +++ b/test/ch/epfl/xblast/DirectionTest.java | |||
@@ -9,6 +9,7 @@ import static org.junit.Assert.*; | |||
9 | * @author Pacien TRAN-GIRARD (261948) | 9 | * @author Pacien TRAN-GIRARD (261948) |
10 | */ | 10 | */ |
11 | public class DirectionTest { | 11 | public class DirectionTest { |
12 | |||
12 | @Test | 13 | @Test |
13 | public void oppositeOfOppositeIsIdentity() { | 14 | public void oppositeOfOppositeIsIdentity() { |
14 | for (Direction d : Direction.values()) | 15 | for (Direction d : Direction.values()) |
@@ -48,4 +49,5 @@ public class DirectionTest { | |||
48 | assertEquals(0, d.yVector() + d.opposite().yVector()); | 49 | assertEquals(0, d.yVector() + d.opposite().yVector()); |
49 | } | 50 | } |
50 | } | 51 | } |
52 | |||
51 | } | 53 | } |
diff --git a/test/ch/epfl/xblast/SubCellTest.java b/test/ch/epfl/xblast/SubCellTest.java index 1c79791..b3450e1 100644 --- a/test/ch/epfl/xblast/SubCellTest.java +++ b/test/ch/epfl/xblast/SubCellTest.java | |||
@@ -1,11 +1,15 @@ | |||
1 | package ch.epfl.xblast; | 1 | package ch.epfl.xblast; |
2 | 2 | ||
3 | import org.junit.Test; | ||
4 | |||
3 | import static org.junit.Assert.assertEquals; | 5 | import static org.junit.Assert.assertEquals; |
4 | import static org.junit.Assert.assertTrue; | 6 | import static org.junit.Assert.assertTrue; |
5 | 7 | ||
6 | import org.junit.Test; | 8 | /** |
7 | 9 | * @author EPFL | |
10 | */ | ||
8 | public class SubCellTest { | 11 | public class SubCellTest { |
12 | |||
9 | @Test | 13 | @Test |
10 | public void centralSubCellOfKnowCellIsCorrect() { | 14 | public void centralSubCellOfKnowCellIsCorrect() { |
11 | SubCell c = SubCell.centralSubCellOf(new Cell(2, 1)); | 15 | SubCell c = SubCell.centralSubCellOf(new Cell(2, 1)); |
@@ -15,13 +19,13 @@ public class SubCellTest { | |||
15 | 19 | ||
16 | @Test | 20 | @Test |
17 | public void centralSubCellIsCentral() { | 21 | public void centralSubCellIsCentral() { |
18 | for (Cell c: Cell.ROW_MAJOR_ORDER) | 22 | for (Cell c : Cell.ROW_MAJOR_ORDER) |
19 | assertTrue(SubCell.centralSubCellOf(c).isCentral()); | 23 | assertTrue(SubCell.centralSubCellOf(c).isCentral()); |
20 | } | 24 | } |
21 | 25 | ||
22 | @Test | 26 | @Test |
23 | public void distanceToCentralOfCentralIsZero() { | 27 | public void distanceToCentralOfCentralIsZero() { |
24 | for (Cell c: Cell.ROW_MAJOR_ORDER) | 28 | for (Cell c : Cell.ROW_MAJOR_ORDER) |
25 | assertEquals(0, SubCell.centralSubCellOf(c).distanceToCentral()); | 29 | assertEquals(0, SubCell.centralSubCellOf(c).distanceToCentral()); |
26 | } | 30 | } |
27 | 31 | ||
@@ -43,18 +47,19 @@ public class SubCellTest { | |||
43 | @Test | 47 | @Test |
44 | public void neighborsOfOriginAreCorrect() { | 48 | public void neighborsOfOriginAreCorrect() { |
45 | SubCell c = new SubCell(0, 0); | 49 | SubCell c = new SubCell(0, 0); |
46 | assertEquals(new SubCell( 0, 207), c.neighbor(Direction.N)); |