public void Prevent_Movement_When_Start_X_Greater_Than_End_X() { var board = Substitute.For <IChessBoard>(); var piece = Substitute.For <IChessPiece>(); IRule rule = new CannotMoveOnXAxisRule(); Move move = new Move(piece, 1, 0, 0, 0); Assert.That(rule.IsMoveValid(board, move), Is.False); }
public void Allow_Movement_When_Start_X_Equals_End_X() { var board = Substitute.For <IChessBoard>(); var piece = Substitute.For <IChessPiece>(); IRule rule = new CannotMoveOnXAxisRule(); Move move = new Move(piece, 3, 0, 3, 1); Assert.That(rule.IsMoveValid(board, move), Is.True); }
public void Allow_Movement_Across_Multiple_Squares_When_Start_X_Equals_End_X() { var board = Substitute.For <IChessBoard>(); var piece = Substitute.For <IChessPiece>(); IRule rule = new CannotMoveOnXAxisRule(); board.Width.Returns(8); Move move = new Move(piece, 0, 0, 0, board.Height - 1); Assert.That(rule.IsMoveValid(board, move)); }