public void Response_should_be_handled_properly()
            {
                IBasicProperties properties;
                _awaiter.RegisterResponseAction(m =>
                                                    {
                                                        _threadLock.Set();
                                                    }, out properties);

                var subscriptionId = properties.CorrelationId;
                var queueName = properties.ReplyTo;

                subscriptionId.Should().NotBeEmpty();
                queueName.Should().NotBeEmpty();

                var formatter = new MessageFormatter(new Utf8MessageSerializer(null), new JsonMessageStringifier(null),
                                                     null);

                var message = formatter.Format(new StringMessage()
                                                   {
                                                       Content = "abc"
                                                   });

                var channel = ComponentLocator.Current.Get<IModel>();
                channel.BasicPublish(String.Empty, queueName, new BasicProperties()
                                                                  {
                                                                      CorrelationId = subscriptionId
                                                                  }, message );

                _threadLock.WaitOne();
            }
        public void Should_be_reversive()
        {
            var messageFormatter = new MessageFormatter(new Utf8MessageSerializer(null), new JsonMessageStringifier(null), null);

            var x = messageFormatter.Deformat(messageFormatter.Format(new MyTestMessage()
                                                                  {
                                                                      Set = "DDDDD"
                                                                  }));

            ((MyTestMessage) x).Set.Should().Be("DDDDD");
        }