public void The_encrypted_serializer_should_be_awesome()
        {
            byte[] serializedMessageData;

            var serializer = new PreSharedKeyEncryptedMessageSerializer(_key, new TSerializer());

            using (var output = new MemoryStream())
            {
                serializer.Serialize(output, _message.ToSendContext());

                serializedMessageData = output.ToArray();

                //          Trace.WriteLine(Encoding.UTF8.GetString(serializedMessageData));
            }

            using (var input = new MemoryStream(serializedMessageData))
            {
                ReceiveContext receiveContext = ReceiveContext.FromBodyStream(input);
                serializer.Deserialize(receiveContext);

                IConsumeContext <PartialSerializationTestMessage> context;
                receiveContext.TryGetContext(out context).ShouldBeTrue();

                context.ShouldNotBeNull();

                context.Message.ShouldEqual(_message);
            }
        }