public void TestMultipleAcceptedTypes() { PayloadTypeSelector selector = new PayloadTypeSelector(typeof(string), typeof(int)); Assert.IsTrue(selector.Accept(new StringMessage("test1"))); Assert.IsTrue(selector.Accept(new Message <int>(2))); Assert.IsFalse(selector.Accept(new ErrorMessage(new Exception()))); }
public void SubscribeObject <T>(Action <T> action, Predicate <T> subscriberFilter, SynchronizationContext synchronizationContext) { MessageHandlerChain chain = new MessageHandlerChain(); IMessageSelector messageSelector = new PayloadTypeSelector(typeof(T)); IMessageSelector predecateSelector = new PredicateSelector <T>(subscriberFilter); ActionHandler <T> actionHandler = new ActionHandler <T>(action, synchronizationContext); IList <IMessageHandler> handlerList = new List <IMessageHandler>(); handlerList.Add(new MessageFilter(messageSelector)); handlerList.Add(new MessageFilter(predecateSelector)); handlerList.Add(actionHandler); chain.Handlers = handlerList; Subscribe(chain); }
public void SubscribeObject <T>(object subscriber, Predicate <T> subscriberFilter, SynchronizationContext synchronizationContext) { MessageHandlerChain chain = new MessageHandlerChain(); IMessageSelector messageSelector = new PayloadTypeSelector(typeof(T)); IMessageSelector predecateSelector = new PredicateSelector <T>(subscriberFilter); UIServiceActivatingHandler serviceActivatingHandler = new UIServiceActivatingHandler(subscriber, "Receive", synchronizationContext); IList <IMessageHandler> handlerList = new List <IMessageHandler>(); handlerList.Add(new MessageFilter(messageSelector)); handlerList.Add(new MessageFilter(predecateSelector)); handlerList.Add(serviceActivatingHandler); chain.Handlers = handlerList; Subscribe(chain); }
public void TestSuperclassOfAcceptedTypeIsNotSelected() { PayloadTypeSelector selector = new PayloadTypeSelector(typeof(MessageHandlingException)); Assert.IsFalse(selector.Accept(new ErrorMessage(new Exception("test")))); }
public void TestSubclassOfAcceptedTypeIsSelected() { PayloadTypeSelector selector = new PayloadTypeSelector(typeof(Exception)); Assert.IsTrue(selector.Accept(new ErrorMessage(new MessagingException("test")))); }
public void TestNonAcceptedTypeIsNotSelected() { PayloadTypeSelector selector = new PayloadTypeSelector(typeof(int)); Assert.IsFalse(selector.Accept(new StringMessage("test"))); }
public void TestAcceptedTypeIsSelected() { PayloadTypeSelector selector = new PayloadTypeSelector(typeof(string)); Assert.IsTrue(selector.Accept(new StringMessage("test"))); }