void IFakeCallProcessor.Process(IWritableFakeObjectCall fakeObjectCall) { foreach (var listener in this.interceptionListeners) { listener.OnBeforeCallIntercepted(fakeObjectCall); } var ruleToUse = (from rule in this.AllRules where rule.Rule.IsApplicableTo(fakeObjectCall) && rule.HasNotBeenCalledSpecifiedNumberOfTimes() select rule).First(); var interceptedCall = new InterceptedCallAdapter(fakeObjectCall); try { ApplyRule(ruleToUse, interceptedCall); } finally { var readonlyCall = fakeObjectCall.AsReadOnly(); if (!interceptedCall.IgnoreCallInRecording) { FakeScope.Current.AddInterceptedCall(this, readonlyCall); } foreach (var listener in this.interceptionListeners.Reverse()) { listener.OnAfterCallIntercepted(readonlyCall, ruleToUse.Rule); } } }
private void Intercept(IWritableFakeObjectCall fakeObjectCall) { foreach (var listener in this.interceptionListeners) { listener.OnBeforeCallIntercepted(fakeObjectCall); } var ruleToUse = (from rule in this.AllRules where rule.Rule.IsApplicableTo(fakeObjectCall) && rule.HasNotBeenCalledSpecifiedNumberOfTimes() select rule).First(); var interceptedCall = new InterceptedCallAdapter(fakeObjectCall); try { ApplyRule(ruleToUse, interceptedCall); } finally { var readonlyCall = fakeObjectCall.AsReadOnly(); if (!interceptedCall.IgnoreCallInRecording) { FakeScope.Current.AddInterceptedCall(this, readonlyCall); } foreach (var listener in this.interceptionListeners.Reverse()) { listener.OnAfterCallIntercepted(readonlyCall, ruleToUse.Rule); } } }
private void RecordInterceptedCall(InterceptedCallAdapter interceptedCall) { if (!interceptedCall.IgnoreCallInRecording) { FakeScope.Current.AddInterceptedCall(this, interceptedCall.AsReadOnly()); } }
private void Intercept(IWritableFakeObjectCall fakeObjectCall) { var ruleToUse = (from rule in this.AllRules where rule.Rule.IsApplicableTo(fakeObjectCall) && rule.HasNotBeenCalledSpecifiedNumberOfTimes() select rule).First(); var interceptedCall = new InterceptedCallAdapter(fakeObjectCall); try { ApplyRule(ruleToUse, interceptedCall); } finally { this.RecordInterceptedCall(interceptedCall); } }