public void Register_WithUnresolvedTopicHandler_WithUnserializableTopic_ThrowsUnserializableTypeException() { // Arrange var dispatcher = new DITopicDispatcher(container); // Act TestDelegate register = () => dispatcher.Register <UnserializableTopic, ITopicHandler <UnserializableTopic> >(); // Assert Assert.That(register, Throws.TypeOf <UnserializableTypeException>()); }
public void RegisterAsync_WithUnserializableTopic_ThrowsUnserializableTypeException() { // Arrange var dispatcher = new DITopicDispatcher(container); AsyncTopicHandlerDelegate <UnserializableTopic> handler = _ => Task.CompletedTask; // Act TestDelegate register = () => dispatcher.Register(handler); // Assert Assert.That(register, Throws.TypeOf <UnserializableTypeException>()); }
public void Register_WithAsyncTopicHandlerInstance_WithUnserializableTopic_ThrowsUnserializableTypeException() { // Arrange var dispatcher = new DITopicDispatcher(container); var handler = new Mock <IAsyncTopicHandler <UnserializableTopic> >().Object; // Act TestDelegate register = () => dispatcher.Register(handler); // Assert Assert.That(register, Throws.TypeOf <UnserializableTypeException>()); }
public void Handle_WithAsyncHandlerRegistered_CallsHandler() { // Arrange var dispatcher = new DITopicDispatcher(container); dispatcher.Register(asyncHandler); // Act dispatcher.Handle(subscriber, topic); // Assert mockAsyncHandler.Verify(m => m.Handle(It.IsIn(topic)), Times.Once); }
public void Handle_WithBaseClassHandlerRegistered_DoesNothing() { // Arrange var dispatcher = new DITopicDispatcher(container); dispatcher.Register(handler); var topic = new SubTopic(); // Act dispatcher.Handle(subscriber, topic); // Assert mockHandler.Verify(m => m.Handle(It.IsAny <Topic>()), Times.Never); }
public void Handle_WithHandlerDelegateRegistered_CallsHandler() { // Arrange var handled = false; var dispatcher = new DITopicDispatcher(container); dispatcher.Register <Topic>(e => { handled = true; }); // Act dispatcher.Handle(subscriber, topic); // Assert Assert.That(handled, Is.True); }
public void Handle_WithContainerResolvedHandler_ResolvesFromContainer() { // Arrange var dispatcher = new DITopicDispatcher(container); mockContainer.Setup(m => m.IsRegistered <ITopicHandler <Topic> >()).Returns(true); mockContainer.Setup(m => m.Resolve <ITopicHandler <Topic> >()).Returns(handler); dispatcher.Register <Topic, ITopicHandler <Topic> >(); // Act dispatcher.Handle(subscriber, topic); // Assert mockContainer.Verify(m => m.Resolve <ITopicHandler <Topic> >(), Times.Once); }
public void Register_WithUnresolvedTopicHandler_CallsContainerIsRegistered() { // Arrange var dispatcher = new DITopicDispatcher(container); mockContainer .Setup(m => m.IsRegistered <ITopicHandler <Topic> >()) .Returns(true); // Act dispatcher.Register <Topic, ITopicHandler <Topic> >(); // Assert mockContainer.Verify(m => m.IsRegistered <ITopicHandler <Topic> >(), Times.Once); }