public void Setup() { requestRouter = mockRequestRouter.Object; monitorCache = mockMonitorCache.Object; factory = mockFactory.Object; senderMonitor = mockSenderMonitor.Object; sender = mockSender.Object; address = mockAddress.Object; senderRouting = SenderRouting.For <ISender>(address); mockFactory .SetupGet(m => m.SenderType) .Returns(typeof(ISender)); mockFactory .SetupGet(m => m.SenderMonitor) .Returns(senderMonitor); mockRequestRouter .Setup(m => m.RoutingFor <object>(out senderRouting)) .Returns(true); mockFactory .Setup(m => m.CreateSender(It.IsAny <IAddress>())) .Returns(sender); mockFactory .SetupGet(m => m.SenderMonitor) .Returns(senderMonitor); }
public void For_WithNullAddress_ThrowsArgumentNullException() { // Act TestDelegate create = () => SenderRouting.For <ISender>(null); // Assert Assert.That(create, Throws.ArgumentNullException); }
public void For_WithAddress_ReturnsSameAddress() { // Arrange var routing = SenderRouting.For <ISender>(address); // Act var senderAddress = routing.Address; // Assert Assert.That(senderAddress, Is.EqualTo(address)); }
public void For_WithAddress_HasSenderType() { // Arrange var routing = SenderRouting.For <ISender>(address); // Act var senderType = routing.SenderType; // Assert Assert.That(senderType, Is.EqualTo(typeof(ISender))); }
public void SenderFor_WithNoFactory_ThrowsMissingFactoryException() { // Arrange var cache = new SenderCache(requestRouter, monitorCache); var senderRouting = SenderRouting.For <ISender>(address); mockRequestRouter .Setup(m => m.RoutingFor <object>(out senderRouting)) .Returns(true); // Act TestDelegate senderFor = () => cache.SenderFor <object>(); // Assert Assert.That(senderFor, Throws.TypeOf <MissingFactoryException>()); }
public void SetupMirroredResponse <TMessage>(SenderCache senderCache, TMessage response) where TMessage : class { mockSender .Setup(m => m.SendAndReceive(It.IsAny <object>(), It.IsAny <TimeSpan>())) .ReturnsAsync(response); var senderRouting = SenderRouting.For <ISender>(address); mockRequestRouter .Setup(m => m.RoutingFor <object>(out senderRouting)) .Returns(true); mockFactory .Setup(m => m.CreateSender(It.IsAny <IAddress>())) .Returns(sender); senderCache.AddFactory(factory); }
public void SenderFor_WithRoutingAndFactory_ReturnsSender() { // Arrange var cache = new SenderCache(requestRouter, monitorCache); var senderRouting = SenderRouting.For <ISender>(address); mockRequestRouter .Setup(m => m.RoutingFor <object>(out senderRouting)) .Returns(true); mockFactory .Setup(m => m.CreateSender(It.IsAny <IAddress>())) .Returns(sender); cache.AddFactory(factory); // Act var resolvedSender = cache.SenderFor <object>(); // Assert Assert.That(resolvedSender, Is.EqualTo(sender)); }