示例#1
0
 public void Apply(IInterceptedFakeObjectCall fakeObjectCall)
 {
     if (EventCall.TryGetEventCall(fakeObjectCall, out var eventCall))
     {
         this.HandleEventCall(eventCall);
     }
 }
示例#2
0
        /// <summary>
        /// Applies an action to the call, might set a return value or throw
        /// an exception.
        /// </summary>
        /// <param name="fakeObjectCall">The call to apply the interceptor to.</param>
        public void Apply(IInterceptedFakeObjectCall fakeObjectCall)
        {
            if (EventCall.TryGetEventCall(fakeObjectCall, out var eventCall) && eventCall.IsEventRaiser())
            {
                throw new InvalidOperationException(ExceptionMessages.WrappingFakeCannotRaiseEvent);
            }

            fakeObjectCall.CallWrappedMethod(this.WrappedObject);
        }
示例#3
0
        public void Apply(IInterceptedFakeObjectCall fakeObjectCall)
        {
            string message = ExceptionMessages.CallToUnconfiguredMethodOfStrictFake(fakeObjectCall);

            if (EventCall.TryGetEventCall(fakeObjectCall, out _))
            {
                message += Environment.NewLine + ExceptionMessages.HandleEventsOnStrictFakes;
            }

            throw new ExpectationException(message);
        }
示例#4
0
        public bool IsApplicableTo(IFakeObjectCall fakeObjectCall)
        {
            if (fakeObjectCall.Method.IsSameMethodAs(EqualsMethod))
            {
                return(!this.HasOption(StrictFakeOptions.AllowEquals));
            }

            if (fakeObjectCall.Method.IsSameMethodAs(GetHashCodeMethod))
            {
                return(!this.HasOption(StrictFakeOptions.AllowGetHashCode));
            }

            if (fakeObjectCall.Method.IsSameMethodAs(ToStringMethod))
            {
                return(!this.HasOption(StrictFakeOptions.AllowToString));
            }

            if (EventCall.TryGetEventCall(fakeObjectCall, out _))
            {
                return(!this.HasOption(StrictFakeOptions.AllowEvents));
            }

            return(true);
        }
示例#5
0
            public bool IsApplicableTo(IFakeObjectCall fakeObjectCall)
            {
                Guard.AgainstNull(fakeObjectCall, nameof(fakeObjectCall));

                return(EventCall.TryGetEventCall(fakeObjectCall, out _));
            }