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); }
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)); }
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)); }
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); }
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); }