public void Prevent_Movement_When_Moving_Two_Squares_Down()
        {
            var   board = Substitute.For <IChessBoard>();
            var   piece = Substitute.For <IChessPiece>();
            IRule rule  = new MustMoveThreeSquaresRule();

            Move move = new Move(piece, 0, 2, 0, 0);

            Assert.That(rule.IsMoveValid(board, move), Is.False);
        }
        public void Allow_Movement_When_Moving_Two_Right_One_Down()
        {
            var   board = Substitute.For <IChessBoard>();
            var   piece = Substitute.For <IChessPiece>();
            IRule rule  = new MustMoveThreeSquaresRule();

            Move move = new Move(piece, 0, 1, 2, 0);

            Assert.That(rule.IsMoveValid(board, move), Is.True);
        }