public void XmlSchemaProviderQNameBecomesRootName () { xs = new XmlSerializer (typeof (XmlSchemaProviderQNameBecomesRootNameType)); Serialize (new XmlSchemaProviderQNameBecomesRootNameType ()); Assert.AreEqual (Infoset ("<foo />"), WriterText); xs.Deserialize (new StringReader ("<foo/>")); }
public void XmlSchemaProviderQNameBecomesRootName2 () { string xml = "<XmlSchemaProviderQNameBecomesRootNameType2 xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><Foo><foo /></Foo></XmlSchemaProviderQNameBecomesRootNameType2>"; xs = new XmlSerializer (typeof (XmlSchemaProviderQNameBecomesRootNameType2)); Serialize (new XmlSchemaProviderQNameBecomesRootNameType2 ()); Assert.AreEqual (Infoset (xml), WriterText); xs.Deserialize (new StringReader (xml)); }
public void HasNullableField2 () { Bug80759 foo = new Bug80759 (); foo.Test = "BAR"; foo.NullableInt = 10; XmlSerializer serializer = new XmlSerializer (typeof (Bug80759)); MemoryStream stream = new MemoryStream (); serializer.Serialize (stream, foo); stream.Position = 0; foo = (Bug80759) serializer.Deserialize (stream); Assert.AreEqual ("BAR", foo.Test, "#1"); Assert.AreEqual (10, foo.NullableInt, "#2"); foo.NullableInt = null; stream = new MemoryStream (); serializer.Serialize (stream, foo); stream.Position = 0; foo = (Bug80759) serializer.Deserialize (stream); Assert.AreEqual ("BAR", foo.Test, "#3"); Assert.IsNull (foo.NullableInt, "#4"); }
public void SupportPrivateCtorOnly () { XmlSerializer xs = new XmlSerializer (typeof (PrivateCtorOnly)); StringWriter sw = new StringWriter (); xs.Serialize (sw, PrivateCtorOnly.Instance); xs.Deserialize (new StringReader (sw.ToString ())); }
[Test] // bug #80759 public void HasNullableField () { Bug80759 foo = new Bug80759 (); foo.Test = "BAR"; foo.NullableInt = 10; XmlSerializer serializer = new XmlSerializer (typeof (Bug80759)); MemoryStream stream = new MemoryStream (); serializer.Serialize (stream, foo); stream.Position = 0; foo = (Bug80759) serializer.Deserialize (stream); }
public void HasFieldSpecifiedButIrrelevant () { Bug80759_2 foo = new Bug80759_2 (); foo.Test = "BAR"; foo.NullableInt = 10; XmlSerializer serializer = new XmlSerializer (typeof (Bug80759_2)); MemoryStream stream = new MemoryStream (); serializer.Serialize (stream, foo); stream.Position = 0; foo = (Bug80759_2) serializer.Deserialize (stream); }
[Test] // bug #79989, #79990 public void SerializeHexBinary () { XmlSerializer ser = new XmlSerializer (typeof (HexBinary)); sw = new StringWriter (); XmlTextWriter xtw = new XmlTextWriter (sw); ser.Serialize (xtw, new HexBinary ()); xtw.Close (); string expected = @"<?xml version=""1.0"" encoding=""utf-16""?><HexBinary xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" Data=""010203"" />"; Assert.AreEqual (Infoset (expected), WriterText); HexBinary h = (HexBinary) ser.Deserialize (new StringReader (sw.ToString ())); Assert.AreEqual (new byte[] { 1, 2, 3 }, h.Data); }
public void DateTimeRoundtrip () { // bug #337729 XmlSerializer ser = new XmlSerializer (typeof (DateTime)); StringWriter sw = new StringWriter (); ser.Serialize (sw, DateTime.UtcNow); DateTime d = (DateTime) ser.Deserialize (new StringReader (sw.ToString ())); Assert.AreEqual (DateTimeKind.Utc, d.Kind); }
public void Nullable () { XmlSerializer ser = new XmlSerializer (typeof (int?)); int? nullableType = 5; sw = new StringWriter (); xtw = new XmlTextWriter (sw); ser.Serialize (xtw, nullableType); xtw.Close (); string expected = "<?xml version=\"1.0\" encoding=\"utf-16\"?><int>5</int>"; Assert.AreEqual (Infoset (expected), WriterText); int? i = (int?) ser.Deserialize (new StringReader (sw.ToString ())); Assert.AreEqual (5, i); }
public void NullableEnums () { WithNulls w = new WithNulls (); XmlSerializer ser = new XmlSerializer (typeof(WithNulls)); StringWriter tw = new StringWriter (); ser.Serialize (tw, w); string expected = "<?xml version='1.0' encoding='utf-16'?>" + "<WithNulls xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>" + "<nint xsi:nil='true' />" + "<nenum xsi:nil='true' />" + "<ndate xsi:nil='true' />" + "</WithNulls>"; Assert.AreEqual (Infoset (expected), Infoset (tw.ToString ())); StringReader sr = new StringReader (tw.ToString ()); w = (WithNulls) ser.Deserialize (sr); Assert.IsFalse (w.nint.HasValue); Assert.IsFalse (w.nenum.HasValue); Assert.IsFalse (w.ndate.HasValue); DateTime t = new DateTime (2008,4,1); w.nint = 4; w.ndate = t; w.nenum = TestEnumWithNulls.bb; tw = new StringWriter (); ser.Serialize (tw, w); expected = "<?xml version='1.0' encoding='utf-16'?>" + "<WithNulls xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>" + "<nint>4</nint>" + "<nenum>bb</nenum>" + "<ndate>2008-04-01T00:00:00</ndate>" + "</WithNulls>"; Assert.AreEqual (Infoset (expected), Infoset (tw.ToString ())); sr = new StringReader (tw.ToString ()); w = (WithNulls) ser.Deserialize (sr); Assert.IsTrue (w.nint.HasValue); Assert.IsTrue (w.nenum.HasValue); Assert.IsTrue (w.ndate.HasValue); Assert.AreEqual (4, w.nint.Value); Assert.AreEqual (TestEnumWithNulls.bb, w.nenum.Value); Assert.AreEqual (t, w.ndate.Value); }
[Test] // bug #78536 public void CDataTextNodes () { XmlSerializer ser = new XmlSerializer (typeof (CDataTextNodesType)); ser.UnknownNode += new XmlNodeEventHandler (CDataTextNodes_BadNode); string xml = @"<CDataTextNodesType> <foo><![CDATA[ (?<filename>^([A-Z]:)?[^\(]+)\((?<line>\d+),(?<column>\d+)\): \s((?<warning>warning)|(?<error>error))\s[^:]+:(?<message>.+$)| (?<error>(fatal\s)?error)[^:]+:(?<message>.+$) ]]></foo> </CDataTextNodesType>"; ser.Deserialize (new XmlTextReader (xml, XmlNodeType.Document, null)); }
public void Deserialize_NonSerializableObject_error() { var serializer = new XmlSerializer(typeof(NonSerializableObject)); var xml = "<NonSerializableObject />"; serializer.Deserialize(new StringReader(xml)); }
public void SerializeDeserialize_hardlySerializableObject_Ok() { var serializer = new XmlSerializer(typeof(HardlySerializableObject)); var o = HardlySerializableObject.Create(); var m = new MemoryStream(); serializer.Serialize(m,o); m.Position = 0; var des = serializer.Deserialize(m); Assert.AreEqual(o, des); }
public void SerializeDeserailize_listOfSerializableGetSetPropertiesOfPrimitiveType_theSame() { GetSetProperties o = new GetSetProperties { dat = "fff"}; var l = new List<GetSetProperties>(); l.Add(o); l.Add(o); var ser = new XmlSerializer(l.GetType()); var nss = new XmlSerializerNamespaces(); nss.Add(String.Empty, String.Empty); var m = new MemoryStream(); ser.Serialize(m,l, nss); m.Position = 0; var de = (List<GetSetProperties>)ser.Deserialize(m); Assert.AreEqual(o.dat, de[0].dat); Assert.AreEqual(o.dat, de[1].dat); }
public void SerializeDeserailize_serializableGetSetPropertiesOfPrimitiveType_theSame() { GetSetProperties o = new GetSetProperties{dat ="fff",StrArr = new string[]{"1","2"}}; var ser = new XmlSerializer(o.GetType()); var nss = new XmlSerializerNamespaces(); nss.Add(String.Empty, String.Empty); var m = new MemoryStream(); ser.Serialize(m, o,nss); m.Position = 0; var de = (GetSetProperties)ser.Deserialize(m); Assert.AreEqual(o.StrArr[0],de.StrArr[0]); Assert.AreEqual(o.StrArr[1], de.StrArr[1]); Assert.AreEqual(o.dat, de.dat); }