コード例 #1
0
        public void MetadataString_SerializeNewObjectWithEvilStringDeserializeOldClass_ProducesOldObjectWithBinHexString()
        {
            var newObject = new TestClassForXmlSerialization()
            {
                IsReallyCool = true,
                Name         = EvilString
            };

            var xmlString = string.Empty;

            using (var stringWriter = new StringWriter())
            {
                var serializer = new XmlSerializer(typeof(TestClassForXmlSerialization));
                serializer.Serialize(stringWriter, newObject);
                xmlString = stringWriter.ToString();
            }

            OldTestClassForXmlSerialization oldObject = null;

            using (var stringReader = new StringReader(xmlString))
            {
                var serializer = new XmlSerializer(typeof(OldTestClassForXmlSerialization));
                oldObject = serializer.Deserialize(stringReader) as OldTestClassForXmlSerialization;
            }

            Assert.Equal(newObject.IsReallyCool, oldObject.IsReallyCool);
            Assert.Equal(newObject.XmlString.XmlText, oldObject.Name);
        }
コード例 #2
0
        public void MetadataString_XmlSerializeDeserializeWithEvilString_SerializesAndDeserializesCorrectly()
        {
            var originalTestClassInstance = new TestClassForXmlSerialization()
            {
                IsReallyCool = true,
                Name         = EvilString
            };

            var xmlString = string.Empty;

            using (var stringWriter = new StringWriter())
            {
                var serializer = new XmlSerializer(typeof(TestClassForXmlSerialization));
                serializer.Serialize(stringWriter, originalTestClassInstance);
                xmlString = stringWriter.ToString();
            }

            TestClassForXmlSerialization deserializedInstance = null;

            using (var stringReader = new StringReader(xmlString))
            {
                var serializer = new XmlSerializer(typeof(TestClassForXmlSerialization));
                deserializedInstance = serializer.Deserialize(stringReader) as TestClassForXmlSerialization;
            }

            Assert.Equal(originalTestClassInstance.IsReallyCool, deserializedInstance.IsReallyCool);
            Assert.Equal(originalTestClassInstance.Name, deserializedInstance.Name);
        }
コード例 #3
0
        public void MetadataString_SerializeNewClassDeserializeOldClassUsingGoodString_ProducesEquivalentObject()
        {
            var newObject = new TestClassForXmlSerialization()
            {
                IsReallyCool = true,
                Name         = "Well isn't <that> special!"
            };

            var xmlString = string.Empty;

            using (var stringWriter = new StringWriter())
            {
                var serializer = new XmlSerializer(typeof(TestClassForXmlSerialization));
                serializer.Serialize(stringWriter, newObject);
                xmlString = stringWriter.ToString();
            }

            OldTestClassForXmlSerialization oldObject = null;

            using (var stringReader = new StringReader(xmlString))
            {
                var serializer = new XmlSerializer(typeof(OldTestClassForXmlSerialization));
                oldObject = serializer.Deserialize(stringReader) as OldTestClassForXmlSerialization;
            }

            Assert.Equal(newObject.IsReallyCool, oldObject.IsReallyCool);
            Assert.Equal(newObject.Name, oldObject.Name);
        }
コード例 #4
0
        public void MetadataString_XmlSerializeDeserializeWithGoodString_SerializesAndDeserializesCorrectly()
        {
            var originalTestClassInstance = new TestClassForXmlSerialization()
            {
                IsReallyCool = true,
                Name         = "Wie geht es Ihnen? <Mir geht's doch gut.> They're \"GRRREEEAAAATT!!\"\tdude."
            };

            var xmlString = string.Empty;

            using (var stringWriter = new StringWriter())
            {
                var serializer = new XmlSerializer(typeof(TestClassForXmlSerialization));
                serializer.Serialize(stringWriter, originalTestClassInstance);
                xmlString = stringWriter.ToString();
            }

            TestClassForXmlSerialization deserializedInstance = null;

            using (var stringReader = new StringReader(xmlString))
            {
                var serializer = new XmlSerializer(typeof(TestClassForXmlSerialization));
                deserializedInstance = serializer.Deserialize(stringReader) as TestClassForXmlSerialization;
            }

            Assert.Equal(originalTestClassInstance.IsReallyCool, deserializedInstance.IsReallyCool);
            Assert.Equal(originalTestClassInstance.Name, deserializedInstance.Name);
        }