internal VerifyContinuation(Expression selector, WhenContinuationCollection whenContinuationCollection, ArgumentFilterCollection filters) { Debug.Assert(selector != null); Debug.Assert(whenContinuationCollection != null); Debug.Assert(filters != null); this.selector = selector; this.whenContinuationCollection = whenContinuationCollection; this.filters = filters; }
internal VerifyContinuation(Expression selector, WhenContinuationCollection whenContinuationCollection, ArgumentFilterCollection filters) { Debug.Assert(selector != null); Debug.Assert(whenContinuationCollection != null); Debug.Assert(filters != null); this.selector = selector; this.whenContinuationCollection = whenContinuationCollection; this.filters = filters; }
private WhenContinuationCollection EnsureWhenContinuationCollection(LambdaExpression memberSelector) { var continuationKey = GetContinuationKey(memberSelector); lock (this.continuationsSync) { WhenContinuationCollection result; if (!this.continuations.TryGetValue(continuationKey, out result)) { result = new WhenContinuationCollection(); this.continuations[continuationKey] = result; } return(result); } }
private WhenContinuation GetWhenContinuation(LambdaExpression memberSelector, object[] args, out WhenContinuationCollection whenContinuationCollection) { var continuationKey = GetContinuationKey(memberSelector); lock (this.continuationsSync) { whenContinuationCollection = this.EnsureWhenContinuationCollection(memberSelector); var whenContinuation = whenContinuationCollection.FindWhenContinuation(args); if (whenContinuation == null && this.behavior == MockBehavior.Strict) { throw new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, noContinuationErrorTemplate, continuationKey.Type, continuationKey.MemberInfo.Name)); } return(whenContinuation); } }