private bool CanTakePiece(GameModel game, IChessPiece target) { if (target is King) { return(false); } foreach (var chessPiece in game.MovingPlayer.Pieces) { if (gameValidationService.ValidateMove(game, new Move(chessPiece.Position, target.Position)) != null) { return(true); } } return(false); }
public void IsMoveValid_DestinationIsOutsideTheBoard_ShouldReturnFalse(int x, int y) { // Arrange var movingPlayer = new Player(PlayerColor.White); var waitingPlayer = new Player(PlayerColor.Black); var piece = new WhitePawn(new Position(5, 5)); var dest = new Position(x, y); // Act var result = gameValidationService.ValidateMove(TODO, TODO); // Assert result.ShouldBe(false); }