public void CreatesNewThreadFromUnthreadedInboundMessage()
        {
            var inboundMessage = new ConnectionRequestMessage();

            var outboundMessage = inboundMessage.CreateThreadedReply <ConnectionResponseMessage>();

            var threadingBlock = outboundMessage.GetDecorator <ThreadDecorator>("thread");

            Assert.True(threadingBlock.ThreadId == inboundMessage.Id);
            Assert.True(threadingBlock.SenderOrder == 0);
            Assert.True(threadingBlock.ReceivedOrders.Count == 0);
        }
        public void AddsToThreadFromThreadedInboundMessage()
        {
            var inboundMessage = new ConnectionRequestMessage();

            var threadId = Guid.NewGuid().ToString();

            inboundMessage.AddDecorator(new ThreadDecorator()
            {
                ThreadId = threadId
            }, "thread");

            var outgoingMessage = inboundMessage.CreateThreadedReply <ConnectionResponseMessage>();

            var threadingBlock = outgoingMessage.GetDecorator <ThreadDecorator>("thread");

            Assert.True(threadingBlock.ThreadId == threadId);
            Assert.True(threadingBlock.SenderOrder == 0);
            Assert.True(threadingBlock.ReceivedOrders.Count == 0);
        }