Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
 private void RecordInterceptedCall(InterceptedCallAdapter interceptedCall)
 {
     if (!interceptedCall.IgnoreCallInRecording)
     {
         FakeScope.Current.AddInterceptedCall(this, interceptedCall.AsReadOnly());
     }
 }
Esempio n. 4
0
        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);
            }
        }