public void CanRegisterMultipleHandlersForOneMessageType() { // Act Dispatcher.RegisterMessageHandlers(typeof(MyMultiMessage).Assembly); IEnumerable <MessageHandlerRegistration> handlers = Dispatcher.GetMessageHandlerRegistrations(); IList <MessageHandlerRegistration> registrations = handlers.Where(h => h.MessageType == typeof(MyMultiMessage)).ToList(); MessageHandlerRegistration r1 = handlers.Where(h => h.Method.DeclaringType == typeof(MyMultiMessageHandler1)).FirstOrDefault(); // Assert Assert.AreEqual(2, registrations.Count); Assert.IsNotNull(r1); }
public void CanRegisterMessageHandler() { // Act Dispatcher.RegisterMessageHandlers(typeof(MyMessageHandler).Assembly); IList <MessageHandlerRegistration> handlers = Dispatcher.GetMessageHandlerRegistrations().ToList(); // Assert MessageHandlerRegistration r1 = handlers.Where(h => h.MessageType == typeof(MyMessage1)).FirstOrDefault(); MessageHandlerRegistration r2 = handlers.Where(h => h.MessageType == typeof(MyMessage2)).FirstOrDefault(); MessageHandlerRegistration ro = handlers.Where(h => h.MessageType == typeof(MyOtherMessage)).FirstOrDefault(); Assert.IsNotNull(r1, "Must find registration for MyMessage1"); Assert.AreEqual(typeof(MyMessage1), r1.MessageType); Assert.AreEqual("Handle", r1.Method.Name); Assert.IsNotNull(r1, "Must find registration for MyMessage2"); Assert.AreEqual(typeof(MyMessage2), r2.MessageType); Assert.AreEqual("Handle", r2.Method.Name); Assert.IsNull(ro, "Must not choose MyOtherMessage method - its not a handler"); }