public void FireEventWithMultipleHandlersDoesNotContinueAfterSecondHandlerTest()
{
string lastEventHandler = String.Empty;
// Arrange
eventUnderTest.EventSinks += ( sender, args ) =>
{
lastEventHandler = "EventHandlerOne";
args.Continue = true;
};
eventUnderTest.EventSinks += ( sender, args ) =>
{
lastEventHandler = "EventHandlerTwo";
args.Continue = false;
};
eventUnderTest.EventSinks += ( sender, args ) =>
{
lastEventHandler = "EventHandlerThree";
args.Continue = true;
};
var argsUnderTest = new TestEventArgs()
{
Continue = true
};
// Act
eventUnderTest.Fire( this, argsUnderTest, ( args ) => args.Continue == true );
// Assert
Assert.IsTrue( argsUnderTest.Continue == false && lastEventHandler == "EventHandlerTwo", "{0} returned {1}", lastEventHandler, argsUnderTest.Continue );
}