private static void PlayTurns(PgnGame game, ChessGame chessGame) { PgnTurn lastTurn = null; try { foreach (var gameTurn in game.Turns) { lastTurn = gameTurn; if (gameTurn.White != null) { chessGame.Move(gameTurn.White.San); } if (gameTurn.Black != null) { chessGame.Move(gameTurn.Black.San); } } } catch (Exception e) { throw new Exception($"Problem with: {lastTurn}", e); } }
public void Parse_should_handle_annotations(string turnText) { var parsed = PgnTurn.Parse(turnText, out var result).First(); Assert.That(parsed.Turn, Is.EqualTo(1)); Assert.That(parsed.White.San, Is.EqualTo("d4")); Assert.That(parsed.White.Annotation, Is.EqualTo("white annotation block")); Assert.That(parsed.Black.San, Is.EqualTo("d5")); Assert.That(parsed.Black.Annotation, Is.EqualTo("black annotation block")); }
public void Parse_should_handle_single_turn(string turnText, int turn, string white, string black) { var parsed = PgnTurn.Parse(turnText, out var result).First(); Assert.That(parsed.Turn, Is.EqualTo(turn)); Assert.That(parsed.White.San, Is.EqualTo(white)); Assert.Null(parsed.White.Annotation); Assert.That(parsed.Black.San, Is.EqualTo(black)); Assert.Null(parsed.Black.Annotation); }