public void EventFunctionWith6Arguments_AnnotatedWithMultipleOnEventInterceptionAspect_ReturnsTheCorrectSequenceOfAdvices()
        {
            string firstResult    = null;
            string secondResult   = null;
            var    firstArg1List  = new List <AspectJoinPoints>();
            var    firstArg2List  = new List <AspectJoinPoints>();
            var    firstArg3List  = new List <AspectJoinPoints>();
            var    firstArg4List  = new List <AspectJoinPoints>();
            var    firstArg5List  = new List <AspectJoinPoints>();
            var    firstArg6List  = new List <AspectJoinPoints>();
            var    secondArg1List = new List <AspectJoinPoints>();
            var    secondArg2List = new List <AspectJoinPoints>();
            var    secondArg3List = new List <AspectJoinPoints>();
            var    secondArg4List = new List <AspectJoinPoints>();
            var    secondArg5List = new List <AspectJoinPoints>();
            var    secondArg6List = new List <AspectJoinPoints>();
            var    instance       = container.Resolve <IEventFunctionWith6ArgumentsComposite>();
            var    joinPoints     = new MultipleEventInterceptionAspectOrderedJoinPoints();
            Func <List <AspectJoinPoints>, List <AspectJoinPoints>, List <AspectJoinPoints>, List <AspectJoinPoints>, List <AspectJoinPoints>, List <AspectJoinPoints>, string> func = (l1, l2, l3, l4, l5, l6) => instance.Values.Append(AspectJoinPoints.Intercepted).ToString();

            instance.MultipleInterceptionAspects += func;
            firstResult = instance.RaiseMultipleInterceptionAspect(firstArg1List, firstArg2List, firstArg3List, firstArg4List, firstArg5List, firstArg6List);
            instance.MultipleInterceptionAspects -= func;
            secondResult = instance.RaiseMultipleInterceptionAspect(secondArg1List, secondArg2List, secondArg3List, secondArg4List, secondArg5List, secondArg6List);

            CollectionAssertExt.AreAllEqual(new EventMultipleInterceptionInvokeAspectOrderedJoinPoints(), firstArg1List, firstArg2List, firstArg3List, firstArg4List, firstArg5List, firstArg6List);
            CollectionAssertExt.AreAllEqual(AspectOrderedJoinPoints.Empty, secondArg1List, secondArg2List, secondArg3List, secondArg4List, secondArg5List, secondArg6List);
            CollectionAssert.AreEqual(instance.Values, joinPoints);
            Assert.AreEqual(firstResult, AspectJoinPoints.Intercepted.ToString());
            Assert.AreEqual(secondResult, AspectJoinPoints.NoEvent.ToString());
        }
        public void EventActionWith6Arguments_AnnotatedWithMultipleOnEventInterceptionAspect_ReturnsTheCorrectSequenceOfAdvices()
        {
            var firstArg1List  = new List <AspectJoinPoints>();
            var firstArg2List  = new List <AspectJoinPoints>();
            var firstArg3List  = new List <AspectJoinPoints>();
            var firstArg4List  = new List <AspectJoinPoints>();
            var firstArg5List  = new List <AspectJoinPoints>();
            var firstArg6List  = new List <AspectJoinPoints>();
            var secondArg1List = new List <AspectJoinPoints>();
            var secondArg2List = new List <AspectJoinPoints>();
            var secondArg3List = new List <AspectJoinPoints>();
            var secondArg4List = new List <AspectJoinPoints>();
            var secondArg5List = new List <AspectJoinPoints>();
            var secondArg6List = new List <AspectJoinPoints>();
            var instance       = container.Resolve <IEventActionWith6ArgumentsComposite>();
            var joinPoints     = new MultipleEventInterceptionAspectOrderedJoinPoints();
            Action <List <AspectJoinPoints>, List <AspectJoinPoints>, List <AspectJoinPoints>, List <AspectJoinPoints>, List <AspectJoinPoints>, List <AspectJoinPoints> > action = (l1, l2, l3, l4, l5, l6) => instance.Values.Append(AspectJoinPoints.Intercepted);

            instance.MultipleInterceptionAspects += action;
            instance.RaiseMultipleInterceptionAspect(firstArg1List, firstArg2List, firstArg3List, firstArg4List, firstArg5List, firstArg6List);
            instance.MultipleInterceptionAspects -= action;
            instance.RaiseMultipleInterceptionAspect(secondArg1List, secondArg2List, secondArg3List, secondArg4List, secondArg5List, secondArg6List);

            CollectionAssertExt.AreAllEqual(new EventMultipleInterceptionInvokeAspectOrderedJoinPoints(), firstArg1List, firstArg2List, firstArg3List, firstArg4List, firstArg5List, firstArg6List);
            CollectionAssertExt.AreAllEqual(AspectOrderedJoinPoints.Empty, secondArg1List, secondArg2List, secondArg3List, secondArg4List, secondArg5List, secondArg6List);
            CollectionAssert.AreEqual(instance.Values, joinPoints);
        }
        public void EventActionWithoutArguments_AnnotatedWithMultipleOnEventInterceptionAspect_ReturnsTheCorrectSequenceOfAdvices()
        {
            var    instance   = container.Resolve <IEventActionWithoutArgumentsComposite>();
            var    joinPoints = new MultipleEventInterceptionAspectOrderedJoinPoints();
            Action action     = () => instance.Values.Add(AspectJoinPoints.Intercepted);

            instance.MultipleInterceptionAspects += action;
            instance.RaiseMultipleInterceptionAspect();
            instance.MultipleInterceptionAspects -= action;
            instance.RaiseMultipleInterceptionAspect();

            CollectionAssert.AreEqual(instance.Values, joinPoints);
        }
Beispiel #4
0
        public void EventActionWith1Argument_AnnotatedWithMultipleOnEventInterceptionAspect_ReturnsTheCorrectSequenceOfAdvices()
        {
            var firstList  = new List <AspectJoinPoints>();
            var secondList = new List <AspectJoinPoints>();
            var instance   = container.Resolve <IEventActionWith1ArgumentComposite>();
            var joinPoints = new MultipleEventInterceptionAspectOrderedJoinPoints();
            Action <List <AspectJoinPoints> > action = l => instance.Values.Append(AspectJoinPoints.Intercepted);

            instance.MultipleInterceptionAspects += action;
            instance.RaiseMultipleInterceptionAspect(firstList);
            instance.MultipleInterceptionAspects -= action;
            instance.RaiseMultipleInterceptionAspect(secondList);

            CollectionAssert.AreEqual(firstList, new EventMultipleInterceptionInvokeAspectOrderedJoinPoints());
            CollectionAssert.AreEqual(secondList, AspectOrderedJoinPoints.Empty);
            CollectionAssert.AreEqual(instance.Values, joinPoints);
        }
Beispiel #5
0
        public void EventFunctionWithoutArguments_AnnotatedWithMultipleOnEventInterceptionAspect_ReturnsTheCorrectSequenceOfAdvices()
        {
            List <AspectJoinPoints> firstResult  = null;
            List <AspectJoinPoints> secondResult = null;
            var instance   = container.Resolve <IEventFunctionWithoutArgumentsComposite>();
            var joinPoints = new MultipleEventInterceptionAspectOrderedJoinPoints();
            Func <List <AspectJoinPoints> > func = () => {
                instance.Values.Add(AspectJoinPoints.Intercepted);

                return(instance.Values);
            };

            instance.MultipleInterceptionAspects += func;
            firstResult = instance.RaiseMultipleInterceptionAspect();
            instance.MultipleInterceptionAspects -= func;
            secondResult = instance.RaiseMultipleInterceptionAspect();

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