public void ContainsShouldSearchByToken()
        {
            var pubSubEvent = new TestablePubSubEvent <string>();
            var emptyAction = new ActionHelper();
            var token       = pubSubEvent.Subscribe(emptyAction.Action);

            Assert.IsTrue(pubSubEvent.Contains(token));

            pubSubEvent.Unsubscribe(emptyAction.Action);
            Assert.IsFalse(pubSubEvent.Contains(token));
        }
        public void ShouldUnsubscribeFromBackgroundThread()
        {
            var pubSubEvent = new TestablePubSubEvent <string>();

            var actionEvent = new ActionHelper();

            pubSubEvent.Subscribe(
                actionEvent.Action,
                ThreadOption.BackgroundThread);

            Assert.IsTrue(pubSubEvent.Contains(actionEvent.Action));
            pubSubEvent.Unsubscribe(actionEvent.Action);
            Assert.IsFalse(pubSubEvent.Contains(actionEvent.Action));
        }
Пример #3
0
        public void ShouldUnsubscribeFromPublisherThreadNonGeneric()
        {
            var pubSubEvent = new TestablePubSubEvent();

            var actionEvent = new ActionHelper();

            pubSubEvent.Subscribe(
                actionEvent.Action,
                ThreadOption.PublisherThread);

            Assert.IsTrue(pubSubEvent.Contains(actionEvent.Action));
            pubSubEvent.Unsubscribe(actionEvent.Action);
            Assert.IsFalse(pubSubEvent.Contains(actionEvent.Action));
        }
Пример #4
0
        public void ShouldUnsubscribeFromPublisherThread()
        {
            var PubSubEvent = new TestablePubSubEvent <string>();

            var actionEvent = new ActionHelper();

            PubSubEvent.Subscribe(
                actionEvent.Action,
                ThreadOption.PublisherThread);

            Assert.True(PubSubEvent.Contains(actionEvent.Action));
            PubSubEvent.Unsubscribe(actionEvent.Action);
            Assert.False(PubSubEvent.Contains(actionEvent.Action));
        }
Пример #5
0
        public void ShouldUnsubscribeFromUIThreadNonGeneric()
        {
            var pubSubEvent = new TestablePubSubEvent {
                SynchronizationContext = new SynchronizationContext()
            };

            var actionEvent = new ActionHelper();

            pubSubEvent.Subscribe(actionEvent.Action, ThreadOption.UIThread);

            Assert.True(pubSubEvent.Contains(actionEvent.Action));
            pubSubEvent.Unsubscribe(actionEvent.Action);
            Assert.False(pubSubEvent.Contains(actionEvent.Action));
        }
        public void ShouldUnsubscribeFromUIThread()
        {
            var pubSubEvent = new TestablePubSubEvent <string>();

            pubSubEvent.SynchronizationContext = new SynchronizationContext();

            var actionEvent = new ActionHelper();

            pubSubEvent.Subscribe(
                actionEvent.Action,
                ThreadOption.UIThread);

            Assert.IsTrue(pubSubEvent.Contains(actionEvent.Action));
            pubSubEvent.Unsubscribe(actionEvent.Action);
            Assert.IsFalse(pubSubEvent.Contains(actionEvent.Action));
        }
        public void CanAddSubscriptionWhileEventIsFiring()
        {
            var pubSubEvent = new TestablePubSubEvent <string>();

            var emptyAction        = new ActionHelper();
            var subscriptionAction = new ActionHelper
            {
                ActionToExecute = () => pubSubEvent.Subscribe(emptyAction.Action)
            };

            pubSubEvent.Subscribe(subscriptionAction.Action);

            Assert.IsFalse(pubSubEvent.Contains(emptyAction.Action));

            pubSubEvent.Publish(null);

            Assert.IsTrue(pubSubEvent.Contains(emptyAction.Action));
        }
        public void RegisterReturnsTokenThatCanBeUsedToUnsubscribe()
        {
            var pubSubEvent = new TestablePubSubEvent <string>();
            var emptyAction = new ActionHelper();

            var token = pubSubEvent.Subscribe(emptyAction.Action);

            pubSubEvent.Unsubscribe(token);

            Assert.IsFalse(pubSubEvent.Contains(emptyAction.Action));
        }
Пример #9
0
        public void CanAddSubscriptionWhileEventIsFiringNonGeneric()
        {
            var pubSubEvent = new TestablePubSubEvent();

            var emptyAction        = new ActionHelper();
            var subscriptionAction = new ActionHelper
            {
                ActionToExecute = (() =>
                                   pubSubEvent.Subscribe(
                                       emptyAction.Action))
            };

            pubSubEvent.Subscribe(subscriptionAction.Action);

            Assert.False(pubSubEvent.Contains(emptyAction.Action));

            pubSubEvent.Publish();

            Assert.True((pubSubEvent.Contains(emptyAction.Action)));
        }