From 6c04e46e2d4c35d943a7d25552cf287c52ec7021 Mon Sep 17 00:00:00 2001 From: arnaudlabourel <arnaud.labourel@univ-amu.fr> Date: Tue, 9 Nov 2021 09:13:01 +0100 Subject: [PATCH] Added tests for ArrayGrid --- src/test/java/model/ArrayGridTest.java | 68 ++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src/test/java/model/ArrayGridTest.java diff --git a/src/test/java/model/ArrayGridTest.java b/src/test/java/model/ArrayGridTest.java new file mode 100644 index 0000000..2150631 --- /dev/null +++ b/src/test/java/model/ArrayGridTest.java @@ -0,0 +1,68 @@ +package model; + +import javafx.scene.paint.Color; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.util.Iterator; + +import static org.assertj.core.api.Assertions.assertThat; + +public class ArrayGridTest { + Grid arrayGridThreeTimesFour; + @BeforeEach + void initializeGrid(){ + arrayGridThreeTimesFour = new ArrayGrid(3, 4); + } + + @Test + void testGetNumberOfRows(){ + assertThat(arrayGridThreeTimesFour.getNumberOfRows()).isEqualTo(3); + } + + @Test + void testGetNumberOfColumns(){ + assertThat(arrayGridThreeTimesFour.getNumberOfColumns()).isEqualTo(4); + } + + @Test + void testSquaresAreNotNull_afterConstruction(){ + for(int row = 0; row < arrayGridThreeTimesFour.getNumberOfRows(); row++) + for(int column = 0; column < arrayGridThreeTimesFour.getNumberOfColumns(); column++) + assertThat(arrayGridThreeTimesFour.getSquare(row,column)).isNotNull(); + } + + @Test + void testNeighbor(){ + Square square22 = arrayGridThreeTimesFour.getSquare(2,2); + assertThat(square22.getNeighbor(CardinalDirection.NORTH)) + .isEqualTo(arrayGridThreeTimesFour.getSquare(1, 2)); + assertThat(square22.getNeighbor(CardinalDirection.EAST)) + .isEqualTo(arrayGridThreeTimesFour.getSquare(2, 3)); + assertThat(square22.getNeighbor(CardinalDirection.SOUTH)) + .isEqualTo(EmptySquare.EMPTY_SQUARE); + assertThat(square22.getNeighbor(CardinalDirection.WEST)) + .isEqualTo(arrayGridThreeTimesFour.getSquare(2, 1)); + } + + @Test + void testFill(){ + Tile redTile = new UniformTile(new ColoredSide(Color.RED)); + arrayGridThreeTimesFour.fill(square -> redTile); + for(int row = 0; row < arrayGridThreeTimesFour.getNumberOfRows(); row++) + for(int column = 0; column < arrayGridThreeTimesFour.getNumberOfColumns(); column++) + assertThat(arrayGridThreeTimesFour.getSquare(row,column).getTile()).isEqualTo(redTile); + } + + @Test + void testIterator(){ + Iterator<Square> iterator = arrayGridThreeTimesFour.iterator(); + assertThat(iterator.hasNext()).isTrue(); + for(int row = 0; row < arrayGridThreeTimesFour.getNumberOfRows(); row++) { + for (int column = 0; column < arrayGridThreeTimesFour.getNumberOfColumns(); column++) { + assertThat(iterator.next()).isEqualTo(arrayGridThreeTimesFour.getSquare(row, column)); + } + } + assertThat(iterator.hasNext()).isFalse(); + } +} -- GitLab