public void GetIncomingRouteNamesFromSubscribers()
        {
            // arrange
            var builder = new DataContractBuilder();

            var serializer = new Mock <ITypeSerializer <string> >();

            builder.RegisterSerializer(serializer.Object);

            var routeA = new Route("RouteA", typeof(string));
            var routeB = new Route("RouteB", typeof(string));
            var routeC = new Route("RouteC", typeof(string));
            var routeD = new Route("RouteD", typeof(string));

            builder.RegisterRoute(routeA);
            builder.RegisterRoute(routeB);
            builder.RegisterRoute(routeC);
            builder.RegisterRoute(routeD);

            // act
            builder.RegisterSubscriber(new Subscriber(routeA, routeB, _ => null));
            builder.RegisterSubscriber(new Subscriber(routeC, routeD, _ => null));

            var dataContract = new DataContractManager(builder);

            // assert
            var routeNames = dataContract
                             .GetIncomingRouteNames()
                             .ToArray();

            var exptectedRouteNames = new[] { routeA.Name, routeC.Name };

            Assert.AreEqual(exptectedRouteNames, routeNames);
        }
Пример #2
0
        public void RegisterGeneralRoute()
        {
            // arrange
            var dataContract = new DataContractBuilder();
            var serializer   = new Mock <IGeneralSerializer <ClassB> >();

            // act
            Assert.DoesNotThrow(() =>
            {
                dataContract.RegisterGeneralSerializer(serializer.Object);
            });
        }
Пример #3
0
        public void RegisterSerializerForNewDataType()
        {
            // arrange
            var dataContract = new DataContractBuilder();
            var serializer   = new Mock <ITypeSerializer <byte[]> >();

            // act
            Assert.DoesNotThrow(() =>
            {
                dataContract.RegisterSerializer(serializer.Object);
            });
        }
Пример #4
0
        public void RegisterRouteWithNotSupportedTypeSerializer()
        {
            // arrange
            var dataContract = new DataContractBuilder();
            var route        = new Route("BasicRoute", typeof(string));

            // act
            Assert.Throws <ConfigurationException>(() =>
            {
                dataContract.RegisterRoute(route);
            });
        }
Пример #5
0
        public void RegisterSubscriberWithNotSupportedIncomingRoute()
        {
            // arrange
            var dataContract = new DataContractBuilder();
            var route        = new Route("BasicRoute", typeof(string));
            var subscriber   = new Subscriber(route, null, _ => null);

            // act
            Assert.Throws <ConfigurationException>(() =>
            {
                dataContract.RegisterSubscriber(subscriber);
            });
        }
Пример #6
0
        public void RegisterGeneralSecondSerializerForTheSameType()
        {
            // arrange
            var dataContract = new DataContractBuilder();
            var serializer   = new Mock <IGeneralSerializer <ClassB> >();
            var serializer2  = new Mock <IGeneralSerializer <ClassB> >();

            dataContract.RegisterGeneralSerializer(serializer.Object);

            // act
            Assert.Throws <ConfigurationException>(() =>
            {
                dataContract.RegisterGeneralSerializer(serializer2.Object);
            });
        }
Пример #7
0
        public void RegisterRouteWithSupportedTypeSerializer()
        {
            // arrange
            var dataContract = new DataContractBuilder();
            var serializer   = new Mock <ITypeSerializer <string> >();
            var route        = new Route("BasicRoute", typeof(string));

            dataContract.RegisterSerializer(serializer.Object);

            // act
            Assert.DoesNotThrow(() =>
            {
                dataContract.RegisterRoute(route);
            });
        }
Пример #8
0
        public void RegisterTwoRoutesWithTheSameName()
        {
            // arrange
            var dataContract = new DataContractBuilder();

            dataContract.RegisterSerializer(new Mock <ITypeSerializer <string> >().Object);
            dataContract.RegisterSerializer(new Mock <ITypeSerializer <int> >().Object);

            // act
            dataContract.RegisterRoute(new Route("BasicRoute", typeof(string)));

            Assert.Throws <ConfigurationException>(() =>
            {
                dataContract.RegisterRoute(new Route("BasicRoute", typeof(int)));
            });
        }
Пример #9
0
        public void RegisterSubscriberWithSupportedIncomingRoute()
        {
            // arrange
            var dataContract = new DataContractBuilder();

            var serializer = new Mock <ITypeSerializer <string> >();
            var route      = new Route("RouteA", typeof(string));
            var subscriber = new Subscriber(route, null, _ => null);

            dataContract.RegisterSerializer(serializer.Object);
            dataContract.RegisterRoute(route);

            // act
            Assert.DoesNotThrow(() =>
            {
                dataContract.RegisterSubscriber(subscriber);
            });
        }
Пример #10
0
        public void RegisterSubscriberWithNotSupportedOutcomingRoute()
        {
            // arrange
            var dataContract = new DataContractBuilder();

            var serializer     = new Mock <ITypeSerializer <string> >();
            var incomingRoute  = new Route("IncomingRoute", typeof(string));
            var outcomingRoute = new Route("OutcomingRoute", typeof(string));
            var subscriber     = new Subscriber(incomingRoute, outcomingRoute, _ => null);

            dataContract.RegisterSerializer(serializer.Object);
            dataContract.RegisterRoute(incomingRoute);

            // act
            Assert.Throws <ConfigurationException>(() =>
            {
                dataContract.RegisterSubscriber(subscriber);
            });
        }