private static void testCastling(){
	  String readout = "WHITE_ROOK2 H1 WHITE_KING D1 BLACK_ROOK1 A8 BLACK_PAWN1 A7 BLACK_PAWN8 H7 WHITE_PAWN6 F2 WHITE_PAWN7 G2 BLACK_PAWN6 F7 WHITE_PAWN2 B2 WHITE_ROOK1 A1 BLACK_PAWN7 G7 BLACK_KING D8 WHITE_PAWN5 E2 BLACK_PAWN3 C7 BLACK_ROOK2 H8 BLACK_PAWN4 D7 BLACK_PAWN5 E7 WHITE_PAWN1 A2 WHITE_PAWN4 D2 WHITE_PAWN8 H2 BLACK_PAWN2 B7 WHITE_PAWN3 C2 ##WHITE_KING false WHITE_QUEEN false WHITE_ROOK1 false WHITE_ROOK2 false WHITE_KNIGHT1 false WHITE_KNIGHT2 false WHITE_BISHOP1 false WHITE_BISHOP2 false WHITE_PAWN1 false WHITE_PAWN2 false WHITE_PAWN3 false WHITE_PAWN4 false WHITE_PAWN5 false WHITE_PAWN6 false WHITE_PAWN7 false WHITE_PAWN8 false BLACK_KING false BLACK_QUEEN false BLACK_ROOK1 false BLACK_ROOK2 false BLACK_KNIGHT1 false BLACK_KNIGHT2 false BLACK_BISHOP1 false BLACK_BISHOP2 false BLACK_PAWN1 false BLACK_PAWN2 false BLACK_PAWN3 false BLACK_PAWN4 false BLACK_PAWN5 false BLACK_PAWN6 false BLACK_PAWN7 false BLACK_PAWN8 false ";
	  GameBoard board = GameSetupUtils.createBoardFromReadout(readout);
	  GameGuiUtils.asciiOutput(board);
	  HashMap<GamePieceName,ArrayList<BoardLocation>> legalMoves = LegalMoveCalculator.getLegalMovesForPlayer(board, PlayerName.WHITE);
    legalMoves = LegalMoveCalculator.getLegalMovesForPlayer(board, PlayerName.BLACK);
	  
	  readout = "WHITE_ROOK2 H1 WHITE_KING D1 BLACK_ROOK1 A8 BLACK_PAWN1 A7 BLACK_PAWN8 H7 WHITE_PAWN6 F2 WHITE_PAWN7 G2 BLACK_PAWN6 F7 WHITE_PAWN2 B2 WHITE_ROOK1 A1 BLACK_PAWN7 G7 BLACK_KING D8 WHITE_PAWN5 E2 BLACK_PAWN3 C7 BLACK_ROOK2 H8 BLACK_PAWN4 D7 BLACK_PAWN5 E7 WHITE_PAWN1 A2 WHITE_PAWN4 D2 WHITE_PAWN8 H2 BLACK_PAWN2 B7 WHITE_PAWN3 C2 ##WHITE_KING false WHITE_QUEEN false WHITE_ROOK1 true WHITE_ROOK2 false WHITE_KNIGHT1 false WHITE_KNIGHT2 false WHITE_BISHOP1 false WHITE_BISHOP2 false WHITE_PAWN1 false WHITE_PAWN2 false WHITE_PAWN3 false WHITE_PAWN4 false WHITE_PAWN5 false WHITE_PAWN6 false WHITE_PAWN7 false WHITE_PAWN8 false BLACK_KING false BLACK_QUEEN false BLACK_ROOK1 true BLACK_ROOK2 true BLACK_KNIGHT1 false BLACK_KNIGHT2 false BLACK_BISHOP1 false BLACK_BISHOP2 false BLACK_PAWN1 false BLACK_PAWN2 false BLACK_PAWN3 false BLACK_PAWN4 false BLACK_PAWN5 false BLACK_PAWN6 false BLACK_PAWN7 false BLACK_PAWN8 false ";
	  board = GameSetupUtils.createBoardFromReadout(readout);
	  GameGuiUtils.asciiOutput(board);
    legalMoves = LegalMoveCalculator.getLegalMovesForPlayer(board, PlayerName.WHITE);
    legalMoves = LegalMoveCalculator.getLegalMovesForPlayer(board, PlayerName.BLACK);

    for (int i = 0; i<4; i++){
      readout = "WHITE_ROOK2 H1 WHITE_KING D1 BLACK_ROOK1 A8 BLACK_PAWN1 A7 BLACK_PAWN8 H7 WHITE_PAWN6 F2 WHITE_PAWN7 G2 BLACK_PAWN6 F7 WHITE_PAWN2 B2 WHITE_ROOK1 A1 BLACK_PAWN7 G7 BLACK_KING D8 WHITE_PAWN5 E2 BLACK_PAWN3 C7 BLACK_ROOK2 H8 BLACK_PAWN4 D7 BLACK_PAWN5 E7 WHITE_PAWN1 A2 WHITE_PAWN4 D2 WHITE_PAWN8 H2 BLACK_PAWN2 B7 WHITE_PAWN3 C2 ##WHITE_KING false WHITE_QUEEN false WHITE_ROOK1 true WHITE_ROOK2 false WHITE_KNIGHT1 false WHITE_KNIGHT2 false WHITE_BISHOP1 false WHITE_BISHOP2 false WHITE_PAWN1 false WHITE_PAWN2 false WHITE_PAWN3 false WHITE_PAWN4 false WHITE_PAWN5 false WHITE_PAWN6 false WHITE_PAWN7 false WHITE_PAWN8 false BLACK_KING false BLACK_QUEEN false BLACK_ROOK1 true BLACK_ROOK2 true BLACK_KNIGHT1 false BLACK_KNIGHT2 false BLACK_BISHOP1 false BLACK_BISHOP2 false BLACK_PAWN1 false BLACK_PAWN2 false BLACK_PAWN3 false BLACK_PAWN4 false BLACK_PAWN5 false BLACK_PAWN6 false BLACK_PAWN7 false BLACK_PAWN8 false ";
      board = GameSetupUtils.createBoardFromReadout(readout);
      System.out.println("castling case "+ i);
      switch(i){
      case 0:
        board.movePiece(GamePieceName.WHITE_KING, BoardLocation.B1);
        GameGuiUtils.asciiOutput(board);

        break;
      case 1:
        board.movePiece(GamePieceName.WHITE_KING, BoardLocation.F1);
        GameGuiUtils.asciiOutput(board);

        break;
      case 2:
        board.movePiece(GamePieceName.BLACK_KING, BoardLocation.B8);
        GameGuiUtils.asciiOutput(board);

        break;
      case 3:
        board.movePiece(GamePieceName.BLACK_KING, BoardLocation.F8);
        GameGuiUtils.asciiOutput(board);

        break;
        
      }
    }
	}