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); }
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); }
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); }