/**
   * 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);
  }