public void AddRequestRouting_WithSameAddressAsExistingRouting_DoesNothing() { // Arrange var router = new RequestRouter(); router.AddRequestRouting <Request, ISender>(address); // Act TestDelegate addTopicRouting = () => router.AddRequestRouting <Request, ISender>(address); // Assert Assert.That(addTopicRouting, Throws.Nothing); }
public void AddRequestRouting_WithRequestBaseClassAdded_AddsToRoutingTable() { // Arrange var router = new RequestRouter(); router.AddRequestRouting <Request, ISender>(address); // Act router.AddRequestRouting <SubRequest, ISender>(address); // Assert Assert.That(router.RoutingTable.ContainsKey(typeof(SubRequest)), Is.True); }
public void AddRequestRouting_WithDifferentAddressToExistingRouting_ThrowsRoutingAlreadyRegisteredException() { // Arrange var router = new RequestRouter(); router.AddRequestRouting <Request, ISender>(address); // Act TestDelegate addRouting = () => router.AddRequestRouting <Request, ISender>(address2); // Assert Assert.That(addRouting, Throws.TypeOf <RoutingAlreadyRegisteredException <SenderRouting> >()); }
public Builder WithSenderRouting <TSender, TRequest>(IAddress address) where TSender : ISender where TRequest : class { RequestRouter.AddRequestRouting <TRequest, TSender>(address); return(this); }
public void AddRequestRouting_WithUnserializableRequestType_ThrowsUnserializableTypeException() { // Arrange var router = new RequestRouter(); // Act TestDelegate addRequestRouting = () => router.AddRequestRouting <UnserializableRequest, ISender>(address); // Assert Assert.That(addRequestRouting, Throws.TypeOf <UnserializableTypeException>()); }
public void AddRequestRouting_WithNullAddress_ThrowsArgumentNullException() { // Arrange var router = new RequestRouter(); // Act TestDelegate addRouting = () => router.AddRequestRouting <Request, ISender>(null); // Assert Assert.That(addRouting, Throws.ArgumentNullException); }
public void AddRequestRouting_WhenNotAlreadyAdded_AddsToRoutingTable() { // Arrange var router = new RequestRouter(); // Act router.AddRequestRouting <Request, ISender>(address); // Assert Assert.That(router.RoutingTable.ContainsKey(typeof(Request)), Is.True); }
public void RoutingFor_WithSubClassRoutingAdded_ReturnsFalse() { // Arrange var router = new RequestRouter(); router.AddRequestRouting <SubRequest, ISender>(address); // Act var hasRouting = router.RoutingFor <Request>(out var routing); // Assert Assert.That(hasRouting, Is.False); }
public void RoutingFor_WithRoutingAdded_ReturnsRoutingWithSameSenderType() { // Arrange var router = new RequestRouter(); router.AddRequestRouting <Request, ISender>(address); // Act var hasRouting = router.RoutingFor <Request>(out var routing); // Assert Assert.That(routing.SenderType, Is.EqualTo(typeof(ISender))); }