public static void TestCastling(string fen, BoardExceptionType expectedException, string message = "") { var board = FenReader.Translate(fen); var rule = new Core.Validation.Validators.BoardValidation.Rules.CastlingAvailabilityRule(); var actual = rule.Validate(board); Assert.AreEqual(expectedException, actual, message); }
public static void ValidateEndOfGame(string fen, BoardExceptionType expectedException) { var board = FenReader.Translate(fen); var rule = new Core.Validation.Validators.BoardValidation.Rules.EndOfGameRule(); var actual = rule.Validate(board); Assert.AreEqual(expectedException, actual); }
public static void TestEnPassant(string fen, BoardExceptionType expectedException) { var enPassantValidator = new EnPassantPositionRule(); var board = FenReader.Translate(fen); var actualExceptionType = enPassantValidator.Validate(board); Assert.AreEqual(expectedException, actualExceptionType); }
public static BoardException MakeBoardException(BoardExceptionType exceptionType) { var sb = new StringBuilder(); foreach (var validationIssue in exceptionType.GetFlags()) { sb.AppendLine($"* {validationIssue.AsString(EnumFormat.Description)}"); } return(new BoardException(exceptionType, sb.ToString())); }
public static void TestPawnCounts(string fen, BoardExceptionType expectedResult) { var actual = BoardExceptionType.None; try { var board = FenReader.Translate(fen); var validator = new BoardValidator(); validator.Validate(board); } catch (BoardException exc) { actual = exc.ExceptionType; } Assert.AreEqual(expectedResult, actual); }
public static void ValidateCheck(string fen, BoardExceptionType expectedException) { var actual = BoardExceptionType.None; try { var board = FenReader.Translate(fen); var boardValidator = new BoardValidator(); boardValidator.Validate(board); } catch (BoardException be) { actual = be.ExceptionType; } Assert.AreEqual(expectedException, actual); }
public BoardException(BoardExceptionType exceptionType, string message) : base(message) { ExceptionType = exceptionType; }