Exemplo n.º 1
0
        protected override object CreateProxy(AdvisedSupport advisedSupport)
        {
            Assert.IsFalse(advisedSupport.ProxyTargetType, "Not forcible decorator-based proxy");
            object proxy = CreateAopProxy(advisedSupport).GetProxy();

            Assert.IsTrue(AopUtils.IsCompositionAopProxy(proxy), "Should be a composition-based proxy: " + proxy.GetType());
            return(proxy);
        }
Exemplo n.º 2
0
        public void TargetImplementsAnInterface()
        {
            ProxyFactory advisedSupport = new ProxyFactory(new TestObject());
            IAopProxy    aopProxy       = CreateAopProxy(advisedSupport);

            Assert.IsNotNull(aopProxy);

            Assert.IsTrue(AopUtils.IsCompositionAopProxy(aopProxy));
        }
        private void ProxyAssertions(ITestObject testObject, int nopInterceptorCount)
        {
            NopInterceptor nop = (NopInterceptor)ctx.GetObject("nopInterceptor");

            Assert.AreEqual(0, nop.Count);
            Assert.IsTrue(AopUtils.IsCompositionAopProxy(testObject), testObject + " is not an AOP Proxy");
            int age = 5;

            testObject.Age = age;
            Assert.AreEqual(age, testObject.Age);
            Assert.AreEqual(2 * nopInterceptorCount, nop.Count);
        }
Exemplo n.º 4
0
        public void IsCompositionProxy()
        {
            var pf = new ProxyFactory(typeof(ITestObject), new DebugAdvice());

            pf.Target = _target;
            Assert.False(pf.ProxyTargetType);

            var proxy = (ITestObject)pf.GetProxy();

            Assert.True(AopUtils.IsCompositionAopProxy(proxy));
            Assert.True(AopUtils.IsAopProxy(proxy));
            Assert.IsNotInstanceOf <TestObject>(proxy);
        }
        public void Introduction()
        {
            object obj = ctx.GetObject("introductionUsingDecorator");

            Assert.IsNotNull(obj as IIsModified);
            ITestObject    testObject = (ITestObject)obj;
            NopInterceptor nop        = (NopInterceptor)ctx.GetObject("introductionNopInterceptor");

            Assert.AreEqual(0, nop.Count);
            Assert.IsTrue(AopUtils.IsCompositionAopProxy(testObject), testObject + " is not an Composition AOP Proxy");
            int age = 5;

            testObject.Age = age;
            Assert.AreEqual(age, testObject.Age);
            Assert.IsNotNull(testObject as IIsModified);
            Assert.IsTrue(((IIsModified)testObject).IsModified);
            Assert.AreEqual(3, nop.Count);
            Assert.AreEqual("introductionUsingDecorator", testObject.Name);
        }