public void PassesMessageToEventArgs()
{
EventArgs<IEventFired> collectedArgs = null;
IEventFired message = GetMessage();
A.CallTo(
() =>
this.eventBroker.Fire(
A<string>.Ignored,
A<object>.Ignored,
A<HandlerRestriction>.Ignored,
A<object>.Ignored,
A<EventArgs>.Ignored)).Invokes(fake => collectedArgs = fake.Arguments.Get<EventArgs<IEventFired>>(4));
this.testee.TestDoHandle(message);
collectedArgs.Should().NotBeNull();
collectedArgs.Value.Should().BeSameAs(message);
}