Incorrect checking of missing castling rights or en passant information was leading to Position::is_valid_fen declaring valid FEN strings as invalid.
For example, the following string would be declared as invalid:
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq
This fix correctly checks for this missing information, and adds some tests including two which should fail without this fix. I wasn't able to run the tests because I ran into some problems with Xcode.
Incorrect checking of missing castling rights or en passant information was leading to Position::is_valid_fen declaring valid FEN strings as invalid.
For example, the following string would be declared as invalid:
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq
This fix correctly checks for this missing information, and adds some tests including two which should fail without this fix. I wasn't able to run the tests because I ran into some problems with Xcode.
By the way, love the app!