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; import static org.assertj.core.api.Assertions.assertThatThrownBy; class ArrayGridTest { // TODO // uncomment /* private ArrayGrid arrayGridThreeFour; private final ArrayGrid arrayGridTwoTwo = new ArrayGrid(2,2); @BeforeEach void initializeArrayGridThreeFour(){ arrayGridThreeFour = new ArrayGrid(3,4); } @Test void testGetCellAndGridInitialization() { assertThat(arrayGridThreeFour.getCell(0,0).getNeighbours()) .hasSize(2) .containsExactlyInAnyOrder(arrayGridThreeFour.getCell(1,0), arrayGridThreeFour.getCell(0,1)); assertThat(arrayGridThreeFour.getCell(1,1).getNeighbours()).hasSize(4) .containsExactlyInAnyOrder(arrayGridThreeFour.getCell(0,1), arrayGridThreeFour.getCell(2,1), arrayGridThreeFour.getCell(1,2), arrayGridThreeFour.getCell(1,0)); assertThat(arrayGridThreeFour.getCell(2,3).getNeighbours()).hasSize(2) .containsExactlyInAnyOrder(arrayGridThreeFour.getCell(1,3), arrayGridThreeFour.getCell(2,2)); assertThat(arrayGridThreeFour.getCell(2,2).getNeighbours()).hasSize(3) .containsExactlyInAnyOrder(arrayGridThreeFour.getCell(1,2), arrayGridThreeFour.getCell(2,1), arrayGridThreeFour.getCell(2,3)); } @Test void testConstructionWithIllegalParameters(){ assertThatThrownBy(() -> new ArrayGrid(-4,10)).isInstanceOf(IllegalArgumentException.class); assertThatThrownBy(() -> new ArrayGrid(4,0)).isInstanceOf(IllegalArgumentException.class); } @Test void testGetNumberOfRows() { assertThat(new ArrayGrid(100,200).getNumberOfRows()).isEqualTo(100); } @Test void testGetNumberOfColumns() { assertThat(new ArrayGrid(100,200).getNumberOfColumns()).isEqualTo(200); } private void setArrayGridThreeFourRed(){ for (int rowIndex = 0; rowIndex < 3; rowIndex++) { for (int columnIndex = 0; columnIndex < 4; columnIndex++) { arrayGridThreeFour.getCell(rowIndex,columnIndex).setColor(Color.RED); } } } @Test void testColor() { setArrayGridThreeFourRed(); arrayGridThreeFour.color(cell -> Color.BLACK); for (int rowIndex = 0; rowIndex < 3; rowIndex++) { for (int columnIndex = 0; columnIndex < 4; columnIndex++) { assertThat(arrayGridThreeFour.getCell(rowIndex,columnIndex).getColor()).isEqualTo(Color.BLACK); } } } @Test void testIterator() { Iterator<Cell> iterator = arrayGridTwoTwo.iterator(); assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(0,0)); assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(0,1)); assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(1,0)); iterator.next(); assertThat(iterator.hasNext()).isFalse(); } */ }