Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }