Added another test case; allValidMoves() seems to change the board when it shouldn't.