/** * getLegalMovesTestManyPossibilities: This sets a black rook at spot g4 with a random board that * has 11 possible moves including taking a white pawn Also checks that you can move in every * direction multiple spaces. */ @Test public void getLegalMovesTestManyMoves() { Rook rookPiece = new Rook('b', "g4"); List<String> legalMoves = rookPiece.getLegalMoves("1nbqkbnr/2Pppppp/p7/1p6/6r1/8/P1PPPPPP/RNBQKBNR w KQkq -"); String[] legalMovesArray = new String[legalMoves.size()]; legalMoves.toArray(legalMovesArray); assertNotNull(legalMoves); String[] expected = new String[11]; expected[0] = "1nbqkbnr/2Pppppp/p7/1p4r1/8/8/P1PPPPPP/RNBQKBNR w KQkq -"; expected[1] = "1nbqkbnr/2Pppppp/p5r1/1p6/8/8/P1PPPPPP/RNBQKBNR w KQkq -"; expected[2] = "1nbqkbnr/2Pppppp/p7/1p6/8/6r1/P1PPPPPP/RNBQKBNR w KQkq -"; expected[3] = "1nbqkbnr/2Pppppp/p7/1p6/7r/8/P1PPPPPP/RNBQKBNR w KQkq -"; expected[4] = "1nbqkbnr/2Pppppp/p7/1p6/5r2/8/P1PPPPPP/RNBQKBNR w KQkq -"; expected[5] = "1nbqkbnr/2Pppppp/p7/1p6/4r3/8/P1PPPPPP/RNBQKBNR w KQkq -"; expected[6] = "1nbqkbnr/2Pppppp/p7/1p6/3r4/8/P1PPPPPP/RNBQKBNR w KQkq -"; expected[7] = "1nbqkbnr/2Pppppp/p7/1p6/2r5/8/P1PPPPPP/RNBQKBNR w KQkq -"; expected[8] = "1nbqkbnr/2Pppppp/p7/1p6/1r6/8/P1PPPPPP/RNBQKBNR w KQkq -"; expected[9] = "1nbqkbnr/2Pppppp/p7/1p6/r7/8/P1PPPPPP/RNBQKBNR w KQkq -"; expected[10] = "1nbqkbnr/2Pppppp/p7/1p6/8/8/P1PPPPrP/RNBQKBNR w KQkq -"; Arrays.sort(legalMovesArray); Arrays.sort(expected); assertArrayEquals(expected, legalMovesArray); }
/** * getLegalMovesTestNoMoves: This check that if the piece has no legal moves, the return list * should be empty */ @Test public void getLegalMovesTestNoMoves() { Rook rookPiece = new Rook('b', "a8"); List<String> legalMoves = rookPiece.getLegalMoves("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq -"); assertNotNull(legalMoves); assertEquals(legalMoves.size(), 0); }
/** * getLegalMovesTest: This sets a black rook at spot b7 with a random board that has 3 possible * moves including taking a white pawn. */ @Test public void getLegalMovesTestFewMoves() { Rook rookPiece = new Rook('b', "b7"); List<String> legalMoves = rookPiece.getLegalMoves("1nbqkbnr/1rPppppp/p7/1p6/8/8/P1PPPPPP/RNBQKBNR w KQkq -"); String[] legalMovesArray = new String[legalMoves.size()]; legalMoves.toArray(legalMovesArray); assertNotNull(legalMoves); String[] expected = new String[3]; expected[0] = "1nbqkbnr/2Pppppp/pr6/1p6/8/8/P1PPPPPP/RNBQKBNR w KQkq -"; expected[1] = "1nbqkbnr/r1Pppppp/p7/1p6/8/8/P1PPPPPP/RNBQKBNR w KQkq -"; expected[2] = "1nbqkbnr/2rppppp/p7/1p6/8/8/P1PPPPPP/RNBQKBNR w KQkq -"; assertArrayEquals(expected, legalMovesArray); }