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