public void MethodInfoClosedInGenIfcGenMethodRefTypeNoTarget() { var interceptor = new KeepDataInterceptor(); var proxy = generator.CreateInterfaceProxyWithoutTarget <GenInterfaceWithGenMethods <List <object> > >(interceptor); proxy.DoSomething(1, null); GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof(void), typeof(int), typeof(List <object>)); Assert.AreEqual(null, interceptor.Invocation.GetConcreteMethodInvocationTarget()); proxy.DoSomething(new List <object>(), new List <object>()); GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof(void), typeof(List <object>), typeof(List <object>)); Assert.AreEqual(null, interceptor.Invocation.GetConcreteMethodInvocationTarget()); }
public void MethodInfoClosedInGenTypeNongenMethodValueTypeValueType() { KeepDataInterceptor interceptor = new KeepDataInterceptor(); GenClassWithGenReturn <int, int> proxy = generator.CreateClassProxy <GenClassWithGenReturn <int, int> >(interceptor); proxy.DoSomethingT(); GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof(int)); Assert.AreEqual(interceptor.Invocation.GetConcreteMethod(), interceptor.Invocation.GetConcreteMethodInvocationTarget().GetBaseDefinition()); proxy.DoSomethingZ(); GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof(int)); Assert.AreEqual(interceptor.Invocation.GetConcreteMethod(), interceptor.Invocation.GetConcreteMethodInvocationTarget().GetBaseDefinition()); }
public void MethodInfoClosedInGenIfcNongenMethodValueTypeWithTarget() { var interceptor = new KeepDataInterceptor(); IGenInterfaceHierarchyBase <int> target = new GenInterfaceHierarchy <int>(); var proxy = generator.CreateInterfaceProxyWithTarget(target, interceptor); proxy.Add(0); GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof(void), typeof(int)); GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethodInvocationTarget(), typeof(void), typeof(int)); Assert.AreNotEqual(interceptor.Invocation.GetConcreteMethod(), interceptor.Invocation.GetConcreteMethodInvocationTarget()); proxy.Get(); GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof(int)); GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethodInvocationTarget(), typeof(int)); Assert.AreNotEqual(interceptor.Invocation.GetConcreteMethod(), interceptor.Invocation.GetConcreteMethodInvocationTarget()); }
public void MethodInfoClosedInNongenIfcGenMethodWithTarget() { var interceptor = new KeepDataInterceptor(); OnlyGenMethodsInterface target = new OnlyGenMethodsInterfaceImpl(); var proxy = generator.CreateInterfaceProxyWithTarget(target, interceptor); proxy.DoSomething(1); GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof(int), typeof(int)); GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethodInvocationTarget(), typeof(int), typeof(int)); Assert.AreNotEqual(interceptor.Invocation.GetConcreteMethod(), interceptor.Invocation.GetConcreteMethodInvocationTarget()); proxy.DoSomething(new List <object>()); GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof(List <object>), typeof(List <object>)); GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethodInvocationTarget(), typeof(List <object>), typeof(List <object>)); Assert.AreNotEqual(interceptor.Invocation.GetConcreteMethod(), interceptor.Invocation.GetConcreteMethodInvocationTarget()); }