public async Task A_null_unsubscriber_causes_an_ArgumentNullException() { var dispatcher = Substitute.For <IDispatcher>(); var eventAggregator = new MessageAggregator(); Assert.ThrowsAsync <ArgumentNullException>(async() => await eventAggregator.UnsubscribeAsync(null)); }
public async Task A_valid_subscriber_gets_removed_from_the_handler_list() { var dispatcher = Substitute.For <IDispatcher>(); var handlerStub = Substitute.For <IHandleAsync <object> >(); var eventAggregator = new MessageAggregator(); await eventAggregator.SubscribeAsync(handlerStub); Assert.True(eventAggregator.HandlerExistsFor(typeof(object))); await eventAggregator.UnsubscribeAsync(handlerStub); Assert.False(eventAggregator.HandlerExistsFor(typeof(object))); }