Skip to content
Snippets Groups Projects
Commit 9ebe126e authored by LABOUREL Arnaud's avatar LABOUREL Arnaud
Browse files

Added tests for ArraySquare

parent 31f56eab
Branches
No related tags found
No related merge requests found
...@@ -52,7 +52,7 @@ public class ArraySquare implements Square { ...@@ -52,7 +52,7 @@ public class ArraySquare implements Square {
return true; return true;
} }
public boolean accept(Tile tile, CardinalDirection direction) { private boolean accept(Tile tile, CardinalDirection direction) {
return getIncidentNeighboringSide(direction).accept(tile.side(direction)); return getIncidentNeighboringSide(direction).accept(tile.side(direction));
} }
......
package model;
import javafx.scene.paint.Color;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
public class ArraySquareTest {
Square arraySquare1;
Square arraySquare2;
ColoredSide redSide;
ColoredSide blueSide;
Tile redTile;
Tile blueTile;
@BeforeEach
void initialize(){
arraySquare1 = new ArraySquare();
arraySquare2 = new ArraySquare();
redTile = new UniformTile(new ColoredSide(Color.RED));
blueTile = new UniformTile(new ColoredSide(Color.BLUE));
redSide = new ColoredSide(Color.RED);
blueSide = new ColoredSide(Color.BLUE);
}
@Test
void testGetNeighbors_afterConstruction(){
for(CardinalDirection direction : CardinalDirection.values())
assertThat(arraySquare1.getNeighbor(direction)).isEqualTo(EmptySquare.EMPTY_SQUARE);
}
@Test
void testEmptyTile_afterConstruction(){
assertThat(arraySquare1.getTile()).isEqualTo(EmptyTile.EMPTY_TILE);
}
@Test
void testPut(){
arraySquare1.put(redTile);
arraySquare2.put(blueTile);
assertThat(arraySquare1.getTile()).isEqualTo(redTile);
assertThat(arraySquare2.getTile()).isEqualTo(blueTile);
}
@Test
void testGetNeighbors_afterSetNeighbor(){
arraySquare1.setNeighbor(arraySquare2, CardinalDirection.NORTH);
arraySquare2.setNeighbor(arraySquare1, CardinalDirection.SOUTH);
assertThat(arraySquare1.getNeighbor(CardinalDirection.NORTH)).isEqualTo(arraySquare2);
assertThat(arraySquare2.getNeighbor(CardinalDirection.SOUTH)).isEqualTo(arraySquare1);
}
@Test
void testCompatibleSides(){
arraySquare1.put(redTile);
arraySquare2.put(blueTile);
arraySquare1.setNeighbor(arraySquare2, CardinalDirection.NORTH);
arraySquare2.setNeighbor(arraySquare1, CardinalDirection.SOUTH);
List<Side> sides = List.of(blueSide, redSide);
assertThat(arraySquare1.compatibleSides(sides, CardinalDirection.NORTH))
.containsExactly(blueSide);
assertThat(arraySquare2.compatibleSides(sides, CardinalDirection.SOUTH))
.containsExactly(redSide);
assertThat(arraySquare1.compatibleSides(sides, CardinalDirection.SOUTH))
.containsExactly(blueSide, redSide);
}
@Test
void testCompatibleTiles(){
List<Tile> tiles = List.of(blueTile, redTile);
assertThat(arraySquare1.compatibleTiles(tiles))
.containsExactly(blueTile, redTile);
arraySquare1.put(redTile);
arraySquare2.put(blueTile);
arraySquare1.setNeighbor(arraySquare2, CardinalDirection.NORTH);
arraySquare2.setNeighbor(arraySquare1, CardinalDirection.SOUTH);
assertThat(arraySquare1.compatibleTiles(tiles))
.containsExactly(blueTile);
assertThat(arraySquare2.compatibleTiles(tiles))
.containsExactly(redTile);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment