public void InterceptInheritedVirtualMethods() { DoesNotImplementInterfaceTestObject target = new DerivedDoesNotImplementInterfaceTestObject(); target.Name = "Bruno"; mockTargetSource.SetTarget(target); NopInterceptor ni = new NopInterceptor(); AdvisedSupport advised = new AdvisedSupport(); advised.TargetSource = mockTargetSource; advised.AddAdvice(ni); DoesNotImplementInterfaceTestObject proxy = CreateProxy(advised) as DoesNotImplementInterfaceTestObject; Assert.IsNotNull(proxy); // GetName() calls underlying protected "GetNameInternal()" which calls get_Name Assert.AreEqual(target.Name, proxy.GetName(), "Incorrect name"); proxy.Name = "Bruno Baia"; Assert.AreEqual("Bruno Baia", proxy.Name, "Incorrect name"); Assert.AreEqual(3, ni.Count); }
public void InterceptInheritedVirtualMethods() { DoesNotImplementInterfaceTestObject target = new DerivedDoesNotImplementInterfaceTestObject(); target.Name = "Bruno"; mockTargetSource.SetTarget(target); NopInterceptor ni = new NopInterceptor(); AdvisedSupport advised = new AdvisedSupport(); advised.TargetSource = mockTargetSource; advised.AddAdvice(ni); DoesNotImplementInterfaceTestObject proxy = CreateProxy(advised) as DoesNotImplementInterfaceTestObject; Assert.IsNotNull(proxy); // GetName() calls underlying protected "GetNameInternal()" which calls get_Name Assert.AreEqual(target.Name, proxy.GetName(), "Incorrect name"); proxy.Name = "Bruno Baia"; Assert.AreEqual("Bruno Baia", proxy.Name, "Incorrect name"); Assert.AreEqual(3, ni.Count); }