/// <summary> /// Verify when an is raised the handlers which are registered to handle the event should handle them /// </summary> /// <param name="buildEventToRaise">A buildEventArgs to raise on the event source</param> /// <param name="eventHelper">Helper class which events are raised on</param> /// <param name="testHandlers">Class which contains a set of event handlers registered on the event source</param> private static void VerifyRegisteredHandlers(BuildEventArgs buildEventToRaise, RaiseEventHelper eventHelper, EventHandlerHelper testHandlers) { try { eventHelper.RaiseBuildEvent(buildEventToRaise); if (buildEventToRaise.GetType() != typeof(GenericBuildStatusEventArgs)) { Assert.IsTrue(testHandlers.RaisedEvent == buildEventToRaise, "Expected buildevent in handler to match buildevent raised on event source"); Assert.IsTrue(testHandlers.RaisedEvent == testHandlers.RaisedAnyEvent, "Expected RaisedEvent and RaisedAnyEvent to match"); Assert.IsTrue(testHandlers.EnteredEventHandler, "Expected to enter into event handler"); } Assert.IsTrue(testHandlers.RaisedAnyEvent == buildEventToRaise, "Expected buildEvent in any event handler to match buildevent raised on event source"); Assert.IsTrue(testHandlers.EnteredAnyEventHandler, "Expected to enter into AnyEvent handler"); if (buildEventToRaise is BuildStatusEventArgs) { Assert.IsTrue(testHandlers.RaisedStatusEvent == buildEventToRaise, "Expected buildevent in handler to match buildevent raised on event source"); Assert.IsTrue(testHandlers.EnteredStatusEventHandler, "Expected to enter into Status event handler"); } else { Assert.IsNull(testHandlers.RaisedStatusEvent); Assert.IsFalse(testHandlers.EnteredStatusEventHandler); } } finally { testHandlers.ResetRaisedEvent(); } }
public void VerifyShutdown() { EventSourceSink sink = new EventSourceSink(); // Registers event handlers onto the event source EventHandlerHelper handlerHelper = new EventHandlerHelper(sink, null); RaiseEventHelper raiseEventHelper = new RaiseEventHelper(sink); raiseEventHelper.RaiseBuildEvent(RaiseEventHelper.ProjectStarted); Assert.IsTrue(handlerHelper.EnteredEventHandler); Assert.IsTrue(handlerHelper.EnteredAnyEventHandler); Assert.IsTrue(handlerHelper.EnteredStatusEventHandler); Assert.IsTrue(handlerHelper.RaisedEvent == RaiseEventHelper.ProjectStarted); Assert.IsTrue(handlerHelper.RaisedAnyEvent == RaiseEventHelper.ProjectStarted); Assert.IsTrue(handlerHelper.RaisedStatusEvent == RaiseEventHelper.ProjectStarted); sink.ShutDown(); handlerHelper.ResetRaisedEvent(); raiseEventHelper.RaiseBuildEvent(RaiseEventHelper.ProjectStarted); Assert.IsFalse(handlerHelper.EnteredEventHandler); Assert.IsFalse(handlerHelper.EnteredAnyEventHandler); Assert.IsFalse(handlerHelper.EnteredStatusEventHandler); Assert.IsNull(handlerHelper.RaisedEvent); Assert.IsNull(handlerHelper.RaisedAnyEvent); Assert.IsNull(handlerHelper.RaisedStatusEvent); }