public void EncodeAndDecodeYieldsSameObjectTest()
        {
            var testObject = new TestMessageObjectNoInterface() { Text = "TestMe" };

            var xmlSerializationConverter = new XmlSerializationConverter();

            byte[] encodedMessage = xmlSerializationConverter.Encode(testObject);
            object decodedMessage = xmlSerializationConverter.Decode(encodedMessage, typeof(TestMessageObjectNoInterface));

            var resultTestObject = decodedMessage as TestMessageObjectNoInterface;
            Assert.That(resultTestObject.Text, Is.EqualTo("TestMe"));
        }
        public void EncodeAndDecodeStripsWithValidEscapedChars()
        {
            StringBuilder invalidCharacterStringBuilder = new StringBuilder();
            invalidCharacterStringBuilder.Append("Test!");
            invalidCharacterStringBuilder.Append("\t");
            invalidCharacterStringBuilder.Append("\n");
            invalidCharacterStringBuilder.Append("Me");
            var testObject = new TestMessageObjectNoInterface() { Text = invalidCharacterStringBuilder.ToString() };

            var xmlSerializationConverter = new XmlSerializationConverter();

            byte[] encodedMessage = xmlSerializationConverter.Encode(testObject);
            object decodedMessage = xmlSerializationConverter.Decode(encodedMessage, typeof(TestMessageObjectNoInterface));

            var resultTestObject = decodedMessage as TestMessageObjectNoInterface;
            Assert.That(resultTestObject.Text, Is.EqualTo("Test!\t\nMe"));
        }