Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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> >());
        }
Exemple #4
0
 public Builder WithSenderRouting <TSender, TRequest>(IAddress address)
     where TSender : ISender
     where TRequest : class
 {
     RequestRouter.AddRequestRouting <TRequest, TSender>(address);
     return(this);
 }
Exemple #5
0
        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>());
        }
Exemple #6
0
        public void AddRequestRouting_WithNullAddress_ThrowsArgumentNullException()
        {
            // Arrange
            var router = new RequestRouter();

            // Act
            TestDelegate addRouting = () => router.AddRequestRouting <Request, ISender>(null);

            // Assert
            Assert.That(addRouting, Throws.ArgumentNullException);
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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)));
        }