public void Verify_BishopMovesInPlace_ReturnsFalse()
        {
            IChessPiece        bishop             = new Bishop(0, 5, 5);
            IChessMoveVerifier bishopMoveVerifier = new BishopMoveVerifier();

            var result = bishopMoveVerifier.Verify(bishop, 5, 5);

            Assert.False(result);
        }
        public void Verify_ValidDataForMoveWithNoOtherPieces_ReturnsTrue()
        {
            IChessPiece        bishop             = new Bishop(0, 0, 0);
            IChessMoveVerifier bishopMoveVerifier = new BishopMoveVerifier();

            var result = bishopMoveVerifier.Verify(bishop, -1, -1);

            Assert.True(result);
        }
        public void Verify_BishopAttacksSameColor_ReturnsFalse()
        {
            IChessPiece        bishop      = new Bishop(0, 5, 5);
            List <IChessPiece> otherPieces = new List <IChessPiece>();

            otherPieces.Add(new Bishop(0, 10, 10));
            IChessMoveVerifier bishopMoveVerifier = new BishopMoveVerifier();

            var result = bishopMoveVerifier.Verify(bishop, 10, 10, otherPieces);

            Assert.False(result);
        }
        public void Verify_ValidDataForMove_ReturnsTrue()
        {
            IChessPiece        bishop      = new Bishop(0, 5, 5);
            List <IChessPiece> otherPieces = new List <IChessPiece>();

            otherPieces.Add(new Bishop(0, 10, 10));
            otherPieces.Add(new Bishop(0, 10, 9));

            IChessMoveVerifier bishopMoveVerifier = new BishopMoveVerifier();

            var result = bishopMoveVerifier.Verify(bishop, 9, 9, otherPieces);

            Assert.True(result);
        }
        public void Verify_OtherPieceBlocksTheWay_ReturnsFalse(int blockingColumnPosition, int blockingRowPosition,
                                                               int finalDestinationColumn, int finalDestinationRow)
        {
            IChessPiece        bishop      = new Bishop(0, 5, 5);
            List <IChessPiece> otherPieces = new List <IChessPiece>();

            otherPieces.Add(new Bishop(0, blockingColumnPosition, blockingRowPosition));
            otherPieces.Add(new Bishop(0, 10, 9));

            IChessMoveVerifier bishopMoveVerifier = new BishopMoveVerifier();

            var result = bishopMoveVerifier.Verify(bishop, finalDestinationColumn, finalDestinationRow, otherPieces);

            Assert.False(result);
        }