示例#1
0
        public void TransparentProxyInterceptionWithSingleBehaviourWillExecuteFalse()
        {
            MBROTarget objectToIntercept = new MBROTarget();

            MBROTarget proxy = Intercept.ThroughProxy <MBROTarget>(objectToIntercept, new TransparentProxyInterceptor(), new IInterceptionBehavior[] { new TestBehaviour("behaviour1", false) });

            string result = String.Empty;

            proxy.TargetMethod(ref result);

            Assert.AreEqual <string>("inside target", result);
        }
示例#2
0
        public void InterafaceInterceptionWithMultipleBehaviourWillExecuteFalse()
        {
            ITarget objectToIntercept = new MBROTarget();

            ITarget proxy = Intercept.ThroughProxy <ITarget>(objectToIntercept, new InterfaceInterceptor(), new IInterceptionBehavior[] { new TestBehaviour("behaviour1", true), new TestBehaviour("behaviour2", false), new TestBehaviour("behaviour3", false) });

            string result = String.Empty;

            proxy.TargetMethod(ref result);

            Assert.AreEqual <string>("behaviour1preinside targetbehaviour1post", result);
        }
示例#3
0
        public void TransparentProxyInterceptionWithSingleBehaviourWillExecuteFalse()
        {
            MBROTarget objectToIntercept = new MBROTarget();

            MBROTarget proxy = Intercept.ThroughProxy<MBROTarget>(objectToIntercept, new TransparentProxyInterceptor(), new IInterceptionBehavior[] { new TestBehaviour("behaviour1", false) });

            string result = String.Empty;

            proxy.TargetMethod(ref result);

            Assert.AreEqual<string>("inside target", result);
        }
示例#4
0
        public void InterafaceInterceptionWithMultipleBehaviourWillExecuteFalse()
        {
            ITarget objectToIntercept = new MBROTarget();

            ITarget proxy = Intercept.ThroughProxy<ITarget>(objectToIntercept, new InterfaceInterceptor(), new IInterceptionBehavior[] { new TestBehaviour("behaviour1", true), new TestBehaviour("behaviour2", false), new TestBehaviour("behaviour3", false) });

            string result = String.Empty;

            proxy.TargetMethod(ref result);

            Assert.AreEqual<string>("behaviour1preinside targetbehaviour1post", result);
        }