Exemple #1
0
        public void EventActionWith3Arguments_AnnotatedWithOnEventInterceptionAspect_ReturnsTheCorrectSequenceOfAdvices()
        {
            var firstArg1List  = new List <AspectJoinPoints>();
            var firstArg2List  = new List <AspectJoinPoints>();
            var firstArg3List  = new List <AspectJoinPoints>();
            var secondArg1List = new List <AspectJoinPoints>();
            var secondArg2List = new List <AspectJoinPoints>();
            var secondArg3List = new List <AspectJoinPoints>();
            var instance       = container.Resolve <IEventActionWith3ArgumentsComposite>();
            var joinPoints     = new EventInterceptionAspectOrderedJoinPoints();
            Action <List <AspectJoinPoints>, List <AspectJoinPoints>, List <AspectJoinPoints> > action = (l1, l2, l3) => instance.Values.Append(AspectJoinPoints.Intercepted);

            instance.InterceptionAspect += action;
            instance.RaiseInterceptionAspect(firstArg1List, firstArg2List, firstArg3List);
            instance.InterceptionAspect -= action;
            instance.RaiseInterceptionAspect(secondArg1List, secondArg2List, secondArg3List);

            CollectionAssertExt.AreAllEqual(new EventInterceptionInvokeAspectOrderedJoinPoints(), firstArg1List, firstArg2List, firstArg3List);
            CollectionAssertExt.AreAllEqual(AspectOrderedJoinPoints.Empty, secondArg1List, secondArg2List, secondArg3List);
            CollectionAssert.AreEqual(instance.Values, joinPoints);
        }
        public void EventFunctionWith1Argument_AnnotatedWithOnEventInterceptionAspect_ReturnsTheCorrectSequenceOfAdvices()
        {
            string firstResult  = null;
            string secondResult = null;
            var    firstList    = new List <AspectJoinPoints>();
            var    secondList   = new List <AspectJoinPoints>();
            var    instance     = container.Resolve <IEventFunctionWith1ArgumentComposite>();
            var    joinPoints   = new EventInterceptionAspectOrderedJoinPoints();
            Func <List <AspectJoinPoints>, string> func = l => instance.Values.Append(AspectJoinPoints.Intercepted).ToString();

            instance.InterceptionAspect += func;
            firstResult = instance.RaiseInterceptionAspect(firstList);
            instance.InterceptionAspect -= func;
            secondResult = instance.RaiseInterceptionAspect(secondList);

            CollectionAssert.AreEqual(firstList, new EventInterceptionInvokeAspectOrderedJoinPoints());
            CollectionAssert.AreEqual(secondList, AspectOrderedJoinPoints.Empty);
            CollectionAssert.AreEqual(instance.Values, joinPoints);
            Assert.AreEqual(firstResult, AspectJoinPoints.Intercepted.ToString());
            Assert.AreEqual(secondResult, AspectJoinPoints.NoEvent.ToString());
        }
Exemple #3
0
        public void EventFunctionWithoutArguments_AnnotatedWithOnEventInterceptionAspect_ReturnsTheCorrectSequenceOfAdvices()
        {
            List <AspectJoinPoints> firstResult  = null;
            List <AspectJoinPoints> secondResult = null;
            var instance   = container.Resolve <IEventFunctionWithoutArgumentsComposite>();
            var joinPoints = new EventInterceptionAspectOrderedJoinPoints();
            Func <List <AspectJoinPoints> > func = () => {
                instance.Values.Add(AspectJoinPoints.Intercepted);

                return(instance.Values);
            };

            instance.InterceptionAspect += func;
            firstResult = instance.RaiseInterceptionAspect();
            instance.InterceptionAspect -= func;
            secondResult = instance.RaiseInterceptionAspect();

            CollectionAssert.AreEqual(instance.Values, joinPoints);
            CollectionAssert.AreEqual(firstResult, joinPoints);
            CollectionAssert.AreEqual(secondResult, AspectOrderedJoinPoints.Empty);
        }