public TContext Require(Func <bool> condition, string message = null) { var contractCondition = new DefaultContractCondition(condition, message); var elevatedPreconditions = this.contractBundle.AddPrecondition(contractCondition); return(Copy(contractBundle: elevatedPreconditions)); }
public TContext EnsureOnThrow(Func <bool> condition, string message = null) { var contractCondition = new DefaultContractCondition(condition, message); var elevatedPostconditionsOnThrow = this.contractBundle.AddPostconditionOnThrow(contractCondition); return(Copy(contractBundle: elevatedPostconditionsOnThrow)); }
public IResultContractContext <TResult> EnsureOnReturn(Func <bool> condition, string message = null) { var contractCondition = new DefaultContractCondition(condition, message); var elevatedPostconditionsOnReturn = this.contractBundle.AddPostconditionOnReturn(contractCondition); return(Copy(contractBundle: elevatedPostconditionsOnReturn)); }