Exemplo n.º 1
0
        public void WeaveInterfaceTest()
        {
            var a = new InterfaceMethodAdvice();
            var i = a.Handle <IAdvisedInterface>();

            Assert.IsNotNull(i);
        }
Exemplo n.º 2
0
        public void WeaveExternalInterface2Test()
        {
            var a = new InterfaceMethodAdvice();
            var i = a.Handle <IExternalAdvisedInterface2>();

            Assert.IsNotNull(i);
        }
Exemplo n.º 3
0
        public void IndirectWeavingTest()
        {
            var a = new InterfaceMethodAdvice {
                NewReturnValue = 87
            };
            var i = Handle <IAdvice, IIndirectAdvisedInterface>(a);
            var r = i.DoSomething(4, 3);

            Assert.AreEqual(87, r);
        }
Exemplo n.º 4
0
        public void OverrideReturnValueTest()
        {
            var a = new InterfaceMethodAdvice {
                NewReturnValue = 12
            };
            var i = a.Handle <IAdvisedInterface>();
            var r = i.DoSomething(1, 2);

            Assert.AreEqual(12, r);
        }
Exemplo n.º 5
0
        public void OverrideOutParameterTest()
        {
            var a = new InterfaceMethodAdvice {
                NewFirstParameter = 99
            };
            var i = a.Handle <IAdvisedInterface>();
            int v;

            i.DoSomethingWithOut(out v);
            Assert.AreEqual(99, v);
        }
Exemplo n.º 6
0
        public void OverrideRefParameterTest()
        {
            var a = new InterfaceMethodAdvice {
                NewFirstParameter = 45
            };
            var i = a.Handle <IAdvisedInterface>();
            int v = 0;

            i.DoSomethingWithRef(ref v);
            Assert.AreEqual(45, v);
        }
Exemplo n.º 7
0
 public void EmptyCallTest()
 {
     var a = new InterfaceMethodAdvice();
     var i = a.Handle <IAdvisedInterface>();
     var r = i.DoSomething(1, 2);
 }