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)); }
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)); }