public void Default_ConstructorInjectionResolver_For_Target_Return_Default_Values()
        {
            var generator = new ProxyGenerator();

            var target = new TypeInj2(new InjService1(), new InjService2(), "Test", 100);
            var proxy  = generator.CreateClassProxyWithTarget <TypeInj2>(target);

            Assert.IsNotNull(proxy);
            Assert.IsNotNull(target.InjService1);
            Assert.IsNotNull(target.InjService2);
            Assert.AreEqual("Test", target.P1);
            Assert.AreEqual(100, target.P2);

            Assert.IsNull(proxy.InjService1);
            Assert.IsNull(proxy.InjService2);
            Assert.AreEqual(null, proxy.P1);
            Assert.AreEqual(0, proxy.P2);
        }
        public void Custom_ConstructorInjectionResolver_For_Target_Resolve_Injections()
        {
            var generator = new ProxyGenerator();

            generator.ConstructorInjectionResolver = new MyCtorInjectionResolver();

            var target = new TypeInj2(new InjService1(), new InjService2(), "Test", 100);
            var proxy  = generator.CreateClassProxyWithTarget <TypeInj2>(target);

            Assert.IsNotNull(proxy);
            Assert.IsNotNull(target.InjService1);
            Assert.IsNotNull(target.InjService2);
            Assert.AreEqual("Test", target.P1);
            Assert.AreEqual(100, target.P2);

            Assert.IsNotNull(proxy.InjService1);
            Assert.IsNotNull(proxy.InjService2);
            Assert.AreEqual("Ok", proxy.P1);
            Assert.AreEqual(10, proxy.P2);
        }