public void TestCanPromoteByMovingAndByCapturing() { var gameBoard = new GameBoard("r6k/1P6/8/8/8/8/8/7K w - - 0 1", PerformInternalBoardValidation); AssertBaseProperties( gameBoard, GameSide.White, CastlingOptions.None, null, 0, 1, GameState.Default); var kingMoves = new GameMove[] { "h1-g1", "h1-g2", "h1-h2" }; var expectedValidMoves = kingMoves .Concat(new GameMove("b7", "b8").MakeAllPromotions()) .Concat(new GameMove("b7", "a8").MakeAllPromotions()) .ToArray(); AssertValidMoves(gameBoard, expectedValidMoves); }