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