Exemplo n.º 1
0
        public void ValidateMove_Knight1Forward2Left_ReturnsValid()
        {
            var from = "C4";
            var to = "A5";

            var chessBoardStub = MockRepository.GenerateStub<ChessBoard>();
            chessBoardStub.Stub(stub => stub.GetSquare(to)).Return(EmptySquare);

            var blackKnight = new Knight(Colour.Black);

            ExceptionReasonDetail exceptionReasonDetail;
            MoveResult moveResult = blackKnight.ValidateMove(chessBoardStub, from, to, out exceptionReasonDetail);

            Assert.That(moveResult, Is.EqualTo(MoveResult.Valid));
            Assert.That(exceptionReasonDetail, Is.EqualTo(ExceptionReasonDetail.None));
        }
Exemplo n.º 2
0
        public void ValidateMove_KnightCaptureOfBlackPiece_ReturnsIllegal()
        {
            var from = "C4";
            var to = "D2";

            var chessBoardStub = MockRepository.GenerateStub<ChessBoard>();
            chessBoardStub.Stub(stub => stub.GetSquare(to)).Return(SquareWithBlackKnight);

            var blackKnight = new Knight(Colour.Black);

            ExceptionReasonDetail exceptionReasonDetail;
            MoveResult moveResult = blackKnight.ValidateMove(chessBoardStub, from, to, out exceptionReasonDetail);

            Assert.That(moveResult, Is.EqualTo(MoveResult.Illegal));
            Assert.That(exceptionReasonDetail, Is.EqualTo(ExceptionReasonDetail.None));
        }