Skip to content
Snippets Groups Projects
GridTest.java 1.52 KiB
Newer Older
  • Learn to ignore specific revisions
  • package model;
    
    import org.junit.jupiter.api.BeforeEach;
    import org.junit.jupiter.api.Test;
    
    LABOUREL Arnaud's avatar
    LABOUREL Arnaud committed
    
    import static org.assertj.core.api.Assertions.assertThat;
    
    
    public class GridTest {
      private Grid grid;
    
      @BeforeEach
    
      public void initializeGrid() {
        grid = new Grid(6, 6);
    
      public void testGetNeighbours() {
        assertThat(grid.getNeighbors(1, 1)).isNotNull();
        assertThat(grid.getNeighbors(1, 1)).hasSize(8);
        assertThat(grid.getNeighbors(1, 1))
                .containsExactlyInAnyOrder(grid.getCell(0, 0),
                        grid.getCell(0, 1),
                        grid.getCell(0, 2),
                        grid.getCell(1, 0),
                        grid.getCell(1, 2),
                        grid.getCell(2, 0),
                        grid.getCell(2, 1),
                        grid.getCell(2, 2));
    
      public void testCountAliveNeighbours() {
        assertThat(grid.countAliveNeighbors(1, 1)).isEqualTo(0);
    
    LABOUREL Arnaud's avatar
    LABOUREL Arnaud committed
        grid.getCell(2, 2).setState(CellState.ALIVE);
        grid.getCell(0, 0).setState(CellState.ALIVE);
    
        assertThat(grid.countAliveNeighbors(1, 1)).isEqualTo(2);
    
    
      @Test
      public void testCalculateNextState() {
    
    LABOUREL Arnaud's avatar
    LABOUREL Arnaud committed
        grid.getCell(1, 0).setState(CellState.ALIVE);
        grid.getCell(1, 1).setState(CellState.ALIVE);
        grid.getCell(1, 2).setState(CellState.ALIVE);
    
        assertThat(grid.calculateNextState(0, 0).isAlive).isFalse();
        assertThat(grid.calculateNextState(1, 0).isAlive).isFalse();
        assertThat(grid.calculateNextState(1, 1).isAlive).isTrue();
        assertThat(grid.calculateNextState(2, 1).isAlive).isTrue();
      }
    
    }