public void After_All_Subscriptions_Are_Deleted_Event_Should_No_Longer_Exists()
        {
            var manager = new InMemoryEventBusSubscriptionsManager();

            manager.AddSubscription <TestIntegrationEvent, TestIntegrationEventHandler>();
            manager.RemoveSubscription <TestIntegrationEvent, TestIntegrationEventHandler>();
            Assert.False(manager.HasSubscriptionsForEvent <TestIntegrationEvent>());
        }
        public void Deleting_Last_Subscription_Should_Raise_On_Deleted_Event()
        {
            bool raised  = false;
            var  manager = new InMemoryEventBusSubscriptionsManager();

            manager.OnEventRemoved += (o, e) => raised = true;
            manager.AddSubscription <TestIntegrationEvent, TestIntegrationEventHandler>();
            manager.RemoveSubscription <TestIntegrationEvent, TestIntegrationEventHandler>();
            Assert.True(raised);
        }
예제 #3
0
        public void After_Deleting_Last_Subscription_Should_Raise_OnEventRemoved()
        {
            var manager = new InMemoryEventBusSubscriptionsManager();

            var raised = false;

            manager.OnEventRemoved += (sender, eventArgs) => raised = true;
            manager.AddSubscription <TestIntegrationEvent, TestIntegrationEventHandler>();
            manager.RemoveSubscription <TestIntegrationEvent, TestIntegrationEventHandler>();
            Assert.True(raised);
        }
예제 #4
0
        public void After_One_Subscription_Are_Removed_Event_Shoule_No_Longer_Exists()
        {
            var manager = new InMemoryEventBusSubscriptionsManager();

            manager.AddSubscription <TestIntegrationEvent, TestIntegrationEventHandler>();
            manager.RemoveSubscription <TestIntegrationEvent, TestIntegrationEventHandler>();
            Assert.False(manager.HasSubscriptionsForEvent <TestIntegrationEvent>());

            manager.AddDynamicSubscription <TestDynamicIntegrationEventHandler>(nameof(TestIntegrationEvent));
            manager.RemoveDynamicSubscription <TestDynamicIntegrationEventHandler>(nameof(TestIntegrationEvent));
            Assert.False(manager.HasSubscriptionsForEvent(nameof(TestIntegrationEvent)));
        }
            public void RemoveDynamicSubscription_HandlerNotRegistered_HandlerIsNotRemoved(
                InMemoryEventBusSubscriptionsManager sut
                )
            {
                //Arrange
                bool eventRemoved = false;

                sut.OnEventRemoved += new EventHandler <string>(delegate
                {
                    eventRemoved = true;
                });

                //Act
                sut.RemoveSubscription <TestIntegrationEvent, TestIntegrationEventHandler>();

                //Assert
                eventRemoved.Should().BeFalse();
            }