Beispiel #1
0
            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();
            }
Beispiel #2
0
            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);
            }
Beispiel #3
0
            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();
            }
Beispiel #4
0
            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);
            }
Beispiel #5
0
            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);
            }
Beispiel #6
0
            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);
            }