public void EventActionWith5Arguments_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 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 instance = container.Resolve<IEventActionWith5ArgumentsComposite>(); var joinPoints = new MultipleEventInterceptionAspectOrderedJoinPoints(); Action<List<AspectJoinPoints>, List<AspectJoinPoints>, List<AspectJoinPoints>, List<AspectJoinPoints>, List<AspectJoinPoints>> action = (l1, l2, l3, l4, l5) => instance.Values.Append(AspectJoinPoints.Intercepted); instance.MultipleInterceptionAspects += action; instance.RaiseMultipleInterceptionAspect(firstArg1List, firstArg2List, firstArg3List, firstArg4List, firstArg5List); instance.MultipleInterceptionAspects -= action; instance.RaiseMultipleInterceptionAspect(secondArg1List, secondArg2List, secondArg3List, secondArg4List, secondArg5List); CollectionAssertExt.AreAllEqual(new EventMultipleInterceptionInvokeAspectOrderedJoinPoints(), firstArg1List, firstArg2List, firstArg3List, firstArg4List, firstArg5List); CollectionAssertExt.AreAllEqual(AspectOrderedJoinPoints.Empty, secondArg1List, secondArg2List, secondArg3List, secondArg4List, secondArg5List); CollectionAssert.AreEqual(instance.Values, joinPoints); }
public void EventFunctionWith3Arguments_AnnotatedWithMultipleOnEventInterceptionAspect_ReturnsTheCorrectSequenceOfAdvices() { string firstResult = null; string secondResult = null; 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<IEventFunctionWith3ArgumentsComposite>(); var joinPoints = new MultipleEventInterceptionAspectOrderedJoinPoints(); Func<List<AspectJoinPoints>, List<AspectJoinPoints>, List<AspectJoinPoints>, string> func = (l1, l2, l3) => instance.Values.Append(AspectJoinPoints.Intercepted).ToString(); instance.MultipleInterceptionAspects += func; firstResult = instance.RaiseMultipleInterceptionAspect(firstArg1List, firstArg2List, firstArg3List); instance.MultipleInterceptionAspects -= func; secondResult = instance.RaiseMultipleInterceptionAspect(secondArg1List, secondArg2List, secondArg3List); CollectionAssertExt.AreAllEqual(new EventMultipleInterceptionInvokeAspectOrderedJoinPoints(), firstArg1List, firstArg2List, firstArg3List); CollectionAssertExt.AreAllEqual(AspectOrderedJoinPoints.Empty, secondArg1List, secondArg2List, secondArg3List); CollectionAssert.AreEqual(instance.Values, joinPoints); Assert.AreEqual(firstResult, AspectJoinPoints.Intercepted.ToString()); Assert.AreEqual(secondResult, AspectJoinPoints.NoEvent.ToString()); }
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); }