예제 #1
0
        public void MessageWithInternalHierarchy_DataSerialized()
        {
            ManualResetEvent ev = new ManualResetEvent(false);

            using (IBus busA = new RabbitMQBus(), busB = new RabbitMQBus())
            {
                var data = new InternalHierarchy
                {
                    Data = new List<Data>
                    {
                        new Car
                        {
                            Number = "324234"
                        },
                        new Person
                        {
                            Id = 5
                        }
                    }
                };

                InternalHierarchy actual = null;

                using (ISubscriber subscriber = busA.CreateSubscriber(c => c.UseJsonSerializerSettings(new JsonSerializerSettings
                {
                    TypeNameHandling = TypeNameHandling.All
                })))
                {

                    subscriber.Subscribe((Action<InternalHierarchy>)(p =>
                    {
                        actual = p;

                        ev.Set();
                    }));

                    subscriber.Open();

                    using (IPublisher publisher = busB.CreatePublisher(c => c.UseJsonSerializerSettings(new JsonSerializerSettings
                    {
                        TypeNameHandling = TypeNameHandling.All
                    })))
                    {
                        publisher.Send(data);
                    }

                    ev.WaitOne(TimeSpan.FromSeconds(5));

                    actual.ShouldBeEquivalentTo(data);
                }
            }
        }
예제 #2
0
        public void MessageWithInternalHierarchy_DataSerialized()
        {
            ManualResetEvent ev = new ManualResetEvent(false);

            using (IBus busA = new RabbitMQBus(), busB = new RabbitMQBus())
            {
                var data = new InternalHierarchy
                {
                    Data = new List <Data>
                    {
                        new Car
                        {
                            Number = "324234"
                        },
                        new Person
                        {
                            Id = 5
                        }
                    }
                };

                InternalHierarchy actual = null;

                using (ISubscriber subscriber = busA.CreateSubscriber(c => c.UseJsonSerializerSettings(new JsonSerializerSettings
                {
                    TypeNameHandling = TypeNameHandling.All
                })))
                {
                    subscriber.Subscribe((Action <InternalHierarchy>)(p =>
                    {
                        actual = p;

                        ev.Set();
                    }));

                    subscriber.Open();

                    using (IPublisher publisher = busB.CreatePublisher(c => c.UseJsonSerializerSettings(new JsonSerializerSettings
                    {
                        TypeNameHandling = TypeNameHandling.All
                    })))
                    {
                        publisher.Send(data);
                    }

                    ev.WaitOne(TimeSpan.FromSeconds(5));

                    actual.ShouldBeEquivalentTo(data);
                }
            }
        }