Пример #1
0
        public TContext Require <TException>(Func <bool> condition, Func <TException> createException = null) where TException : Exception
        {
            var contractCondition     = new CustomExceptionContractCondition <TException>(condition, createException);
            var elevatedPreconditions = this.contractBundle.AddPrecondition(contractCondition);

            return(Copy(contractBundle: elevatedPreconditions));
        }
Пример #2
0
        public TContext EnsureOnThrow <TException>(Func <bool> condition, Func <Exception, TException> createException = null) where TException : Exception
        {
            var contractCondition             = new CustomExceptionContractCondition <TException>(condition, createException);
            var elevatedPostconditionsOnThrow = this.contractBundle.AddPostconditionOnThrow(contractCondition);

            return(Copy(contractBundle: elevatedPostconditionsOnThrow));
        }
Пример #3
0
        public IResultContractContext <TResult> EnsureOnReturn <TException>(Func <bool> condition, Func <TException> createException = null) where TException : Exception
        {
            var contractCondition = new CustomExceptionContractCondition <TException>(condition, createException);
            var elevatedPostconditionsOnReturn = this.contractBundle.AddPostconditionOnReturn(contractCondition);

            return(Copy(contractBundle: elevatedPostconditionsOnReturn));
        }