Beispiel #1
0
        /// <summary>
        /// Apply both member constraints to an actual value, succeeding
        /// succeeding only if both of them succeed.
        /// </summary>
        /// <param name="actual">The actual value</param>
        /// <returns>True if the constraints both succeeded</returns>
        public override ConstraintResult ApplyTo <TActual>(TActual actual)
        {
            var leftResult  = Left.ApplyTo(actual);
            var rightResult = leftResult.IsSuccess
                ? Right.ApplyTo(actual)
                : new ConstraintResult(Right, actual);

            return(new AndConstraintResult(this, actual, leftResult, rightResult));
        }
Beispiel #2
0
        /// <summary>
        /// Apply both member constraints to an actual value, succeeding
        /// succeeding only if both of them succeed.
        /// </summary>
        /// <param name="actual">The actual value</param>
        /// <returns>True if the constraints both succeeded</returns>
        protected override ConstraintResult ApplyConstraint <T>(T actual)
        {
            var leftResult  = Left.ApplyTo(actual);
            var rightResult = leftResult.IsSuccess
                ? Right.ApplyTo(actual)
                : new ConstraintResult(Right, actual);

            return(new AndConstraintResult(this, actual, leftResult, rightResult));
        }
Beispiel #3
0
        /// <summary>
        /// Apply the member constraints to an actual value, succeeding
        /// succeeding as soon as one of them succeeds.
        /// </summary>
        /// <param name="actual">The actual value</param>
        /// <returns>True if either constraint succeeded</returns>
        public override ConstraintResult ApplyTo <TActual>(TActual actual)
        {
            bool hasSucceeded = Left.ApplyTo(actual).IsSuccess || Right.ApplyTo(actual).IsSuccess;

            return(new ConstraintResult(this, actual, hasSucceeded));
        }
Beispiel #4
0
        /// <summary>
        /// Apply the member constraints to an actual value, succeeding
        /// succeeding as soon as one of them succeeds.
        /// </summary>
        /// <param name="actual">The actual value</param>
        /// <returns>True if either constraint succeeded</returns>
        protected override ConstraintResult ApplyConstraint <T>(T actual)
        {
            bool hasSucceeded = Left.ApplyTo(actual).IsSuccess || Right.ApplyTo(actual).IsSuccess;

            return(new ConstraintResult(this, actual, hasSucceeded));
        }