public void Twice() { var actionMock = new Mock <IEventHandler <TestEvent> >(); Sut.Value.Subscribe(actionMock.Object); Sut.Act(x => x.UnsubscribeHandler(actionMock.Object)); Sut.Invoking(x => x.UnsubscribeHandler(actionMock.Object)) .Should.Not.Throw(); }
public void WhenThereIsSubscription() { var actionMock = new Mock <Action <TestEvent> >(); var eventData = new TestEvent(); Sut.Value.Subscribe(actionMock.Object); Sut.Act(x => x.Publish(eventData)); actionMock.Verify(x => x(eventData), Times.Once); }
public void Twice() { var actionMock = new Mock <Action <TestEvent> >(); var subscription = Sut.Value.Subscribe(actionMock.Object); Sut.Act(x => x.Unsubscribe(subscription)); Sut.Invoking(x => x.Unsubscribe(subscription)) .Should.Not.Throw(); }
public void AfterUnsubscribeHandler() { var actionMock = new Mock <Action <TestEvent> >(); var eventHandlerMock = new Mock <IEventHandler <TestEvent> >(); var eventData = new TestEvent(); Sut.Value.Subscribe(actionMock.Object); Sut.Value.Subscribe(eventHandlerMock.Object); Sut.Value.UnsubscribeHandler(eventHandlerMock.Object); Sut.Act(x => x.Publish(eventData)); actionMock.Verify(x => x(eventData), Times.Once); eventHandlerMock.Verify(x => x.Handle(eventData, Context), Times.Never); }
public void AfterUnsubscribeAll() { var actionMock1 = new Mock <Action <TestEvent> >(); var actionMock2 = new Mock <Action <TestEvent, AtataContext> >(); var eventData = new TestEvent(); Sut.Value.Subscribe(actionMock1.Object); Sut.Value.Subscribe(actionMock2.Object); Sut.Value.UnsubscribeAll <TestEvent>(); Sut.Act(x => x.Publish(eventData)); actionMock1.Verify(x => x(eventData), Times.Never); actionMock2.Verify(x => x(eventData, Context), Times.Never); }
public void WhenThereAreMultipleSubscriptions() { var actionMock1 = new Mock <Action <TestEvent> >(); var actionMock2 = new Mock <Action <TestEvent, AtataContext> >(); var eventHandlerMock = new Mock <IEventHandler <TestEvent> >(); var eventData = new TestEvent(); Sut.Value.Subscribe(actionMock1.Object); Sut.Value.Subscribe(actionMock2.Object); Sut.Value.Subscribe(eventHandlerMock.Object); Sut.Act(x => x.Publish(eventData)); actionMock1.Verify(x => x(eventData), Times.Once); actionMock2.Verify(x => x(eventData, Context), Times.Once); eventHandlerMock.Verify(x => x.Handle(eventData, Context), Times.Once); }