Beispiel #1
0
        public void UnsubscribeShouldNotFailWithNonSubscriberNonGeneric()
        {
            var pubSubEvent = new TestablePubSubEvent();

            Action subscriber = delegate { };

            pubSubEvent.Unsubscribe(subscriber);
        }
        public void UnsubscribeShouldNotFailWithNonSubscriber()
        {
            TestablePubSubEvent <string> pubSubEvent = new TestablePubSubEvent <string>();

            Action <string> subscriber = delegate { };

            pubSubEvent.Unsubscribe(subscriber);
        }
Beispiel #3
0
        public void UnsubscribeShouldNotFailWithNonSubscriberNonGeneric()
        {
            var pubSubEvent = new TestablePubSubEvent();

            void Subscriber()
            {
            }

            pubSubEvent.Unsubscribe(Subscriber);
        }
        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 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));
        }
        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));
        }
Beispiel #7
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));
        }
        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));
        }
Beispiel #9
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 ShouldUnsubscribeASingleDelegate()
        {
            var pubSubEvent = new TestablePubSubEvent <string>();

            var callCount = 0;

            var actionEvent = new ActionHelper
            {
                ActionToExecute = () => callCount++
            };

            pubSubEvent.Subscribe(actionEvent.Action);
            pubSubEvent.Subscribe(actionEvent.Action);

            pubSubEvent.Publish(null);
            Assert.AreEqual(2, callCount);

            callCount = 0;
            pubSubEvent.Unsubscribe(actionEvent.Action);
            pubSubEvent.Publish(null);
            Assert.AreEqual(1, callCount);
        }
Beispiel #12
0
        public void ShouldUnsubscribeASingleDelegateNonGeneric()
        {
            var pubSubEvent = new TestablePubSubEvent();

            int callCount = 0;

            var actionEvent = new ActionHelper()
            {
                ActionToExecute = () => callCount++
            };

            pubSubEvent.Subscribe(actionEvent.Action);
            pubSubEvent.Subscribe(actionEvent.Action);

            pubSubEvent.Publish();
            Assert.AreEqual <int>(2, callCount);

            callCount = 0;
            pubSubEvent.Unsubscribe(actionEvent.Action);
            pubSubEvent.Publish();
            Assert.AreEqual <int>(1, callCount);
        }