コード例 #1
0
        public void Move_Onto_Own_Color_Should_Not_Satisfy()
        {
            Board setupBoard = Board.CreateAndSetup();

            LegalMovementSpecification specification = LegalMovementSpecification.Create(setupBoard);
            bool isSatisfied = specification.IsSatisfied(PieceMovement.Create(setupBoard.GetSquare("A1").Piece,
                                                                              Position.Create("A1"),
                                                                              Position.Create("A2")));

            Assert.IsFalse(isSatisfied);
        }
コード例 #2
0
ファイル: Board.cs プロジェクト: devcrp/chessgame-test
        private bool CanBeMovedToRequestedPosition(PieceMovement pieceMovement)
        {
            LegalMovementSpecification legalMovementspecification = LegalMovementSpecification.Create(this);

            if (!legalMovementspecification.IsSatisfied(pieceMovement))
            {
                return(false);
            }

            if (!pieceMovement.Piece.CanJump)
            {
                JumperMovementSpecification jumperMovementSpecification = JumperMovementSpecification.Create(this);
                if (jumperMovementSpecification.IsSatisfied(pieceMovement))
                {
                    return(false);
                }
            }

            return(true);
        }