public void CanUseVirtualMethodInterceptionWithAdditionalInterfacesThroughConfiguration() { IUnityContainer container = GetContainer("CanUseVirtualMethodInterceptionWithAdditionalInterfacesThroughConfiguration"); HasVirtualMethods proxy = container.Resolve <HasVirtualMethods>(); IAdditionalInterface casted = (IAdditionalInterface)proxy; int value = casted.DoNothing(); Assert.AreEqual <int>(100, value); }
public void CanUseVirtualMethodInterceptionThroughConfiguration() { IUnityContainer container = GetContainer("CanUseVirtualMethodInterceptionThroughConfiguration"); DoNothingInterceptionBehavior.Reset(); HasVirtualMethods abc = container.Resolve <HasVirtualMethods>(); abc.TargetMethod(); Assert.AreEqual <string>("Called", DoNothingInterceptionBehavior.PreCalled); Assert.AreEqual <string>("Called", DoNothingInterceptionBehavior.PostCalled); }
public void CanMixDifferentInterceptionMechanismsForSameContainerConfiguration() { IUnityContainer container = GetContainer("CanMixDifferentInterceptionMechanismsForSameContainerConfiguration"); IInterfaceA abc = container.Resolve <IInterfaceA>(); abc.TargetMethod(); Assert.AreEqual <string>("behaviour2", DoNothingInterceptionBehavior.BehaviourName); HasVirtualMethods abc1 = container.Resolve <HasVirtualMethods>(); abc1.TargetMethod(); Assert.AreEqual <string>("behaviour1", DoNothingInterceptionBehavior.BehaviourName); ImplementsMBRO abc2 = container.Resolve <ImplementsMBRO>(); abc2.TargetMethod(); Assert.AreEqual <string>("behaviour3", DoNothingInterceptionBehavior.BehaviourName); }