package dev.kske.chess.board; import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import dev.kske.chess.board.Piece.Color; import dev.kske.chess.exception.ChessException; /** * Project: Chess
* File: FENStringTest.java
* Created: 24 Oct 2019
* * @author Kai S. K. Engelbart */ class FENStringTest { List fenStrings = new ArrayList<>(); List boards = new ArrayList<>(); void cleanBoard(Board board) { for (int i = 0; i < 8; i++) for (int j = 0; j < 8; j++) board.getBoardArr()[i][j] = null; } /** * @throws java.lang.Exception */ @BeforeEach void setUp() throws Exception { fenStrings.addAll(Arrays.asList("rnbqkbnr/pp1ppppp/8/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R b - - 1 2")); Board board = new Board(); board.set(Position.fromLAN("c7"), null); board.set(Position.fromLAN("c5"), new Pawn(Color.BLACK, board)); board.set(Position.fromLAN("e4"), new Pawn(Color.WHITE, board)); board.set(Position.fromLAN("f3"), new Knight(Color.WHITE, board)); board.set(Position.fromLAN("e2"), null); board.set(Position.fromLAN("g1"), null); board.getLog().setActiveColor(Color.BLACK); board.getLog().setHalfmoveClock(1); board.getLog().setFullmoveNumber(2); boards.add(board); } /** * Test method for {@link dev.kske.chess.board.FENString#toString()}. */ @Test void testToString() { for (int i = 0; i < fenStrings.size(); i++) assertEquals(fenStrings.get(i), new FENString(boards.get(i)).toString()); } /** * Test method for {@link dev.kske.chess.board.FENString#getBoard()}. * * @throws ChessException */ @Test void testGetBoard() throws ChessException { for (int i = 0; i < boards.size(); i++) assertEquals(boards.get(i), new FENString(fenStrings.get(i)).getBoard()); } }