public void TestII0() { var payloadFactory = new MockPayloadFactory(); var generator = new ProxyTypeGenerator(); var constructor = new StandaloneProxyConstructor(generator); var original = new ClassMockII0(); var proxy = constructor.CreateProxy<IClassMockII0, ClassMockII0>( payloadFactory, typeof(TestWrapWithProxyAttribute) ); { var originalImplementInterface = original.GetType().GetInterface(typeof(IDisposable).Name) != null; var proxyImplementInterface = proxy.GetType().GetInterface(typeof(IDisposable).Name) != null; Assert.IsTrue(originalImplementInterface); Assert.IsTrue(proxyImplementInterface); } { var originalImplementInterface = original.GetType().GetInterface(typeof(IClassMockII0).Name) != null; var proxyImplementInterface = proxy.GetType().GetInterface(typeof(IClassMockII0).Name) != null; Assert.IsTrue(originalImplementInterface); Assert.IsTrue(proxyImplementInterface); } }
public void TestGeneric0() { var setExceptionFlag = false; var dispose = false; var ok = false; var payloadFactory = new MockPayloadFactory( (excp) => { setExceptionFlag = true; }, () => { dispose = true; }); var generator = new ProxyTypeGenerator(); var constructor = new StandaloneProxyConstructor(generator); var proxy = constructor.CreateProxy<IClassMock13, ClassMock13>( payloadFactory, typeof(TestWrapWithProxyAttribute), new Action<int>((int x) => { ok = true; })); Assert.IsNotNull(proxy); proxy.X1(new List<int>()); Assert.IsTrue(ok); Assert.IsFalse(setExceptionFlag); Assert.IsTrue(dispose); }
public void TestWithDerivedInterfaces() { var payloadFactory = new MockPayloadFactory(); var generator = new ProxyTypeGenerator(); var constructor = new StandaloneProxyConstructor(generator); var proxy = constructor.CreateProxy<IClassMock2, ClassMock2>( payloadFactory, typeof(TestWrapWithProxyAttribute) ); Assert.IsNotNull(proxy); }
public void TestGeneric0() { var setExceptionFlag = false; var dispose = false; var ok = false; var payloadFactory = new MockPayloadFactory( (excp) => { setExceptionFlag = true; }, () => { dispose = true; }); var generator = new ProxyTypeGenerator(); var constructor = new StandaloneProxyConstructor(generator); var proxy = constructor.CreateProxy<IClassMock21, ClassMock21>( payloadFactory, typeof(TestWrapWithProxyAttribute), new Func<Dictionary<string, int>>(() => { ok = true; return new Dictionary<string, int>(); })); Assert.IsNotNull(proxy); Dictionary<string, List<int>> xl; var result0 = proxy.X2(out xl); var result1 = proxy.X1(ref xl); Assert.IsTrue(ok); Assert.IsFalse(setExceptionFlag); Assert.IsTrue(dispose); }