private void SerializeEncoded (XmlTextWriter xtw, object o, Type type) { XmlTypeMapping mapping = CreateSoapMapping (type); xs = new XmlSerializer (mapping); xs.Serialize (xtw, o); }
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 XmlRootOverridesSchemaProviderQName () { var obj = new XmlRootOverridesSchemaProviderQNameType (); XmlSerializer xs = new XmlSerializer (obj.GetType ()); var sw = new StringWriter (); using (XmlWriter xw = XmlWriter.Create (sw)) xs.Serialize (xw, obj); Assert.IsTrue (sw.ToString ().IndexOf ("foo") > 0, "#1"); }
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); }
public void SupportPrivateCtorOnly () { XmlSerializer xs = new XmlSerializer (typeof (PrivateCtorOnly)); StringWriter sw = new StringWriter (); xs.Serialize (sw, PrivateCtorOnly.Instance); xs.Deserialize (new StringReader (sw.ToString ())); }
public void SerializeInvalidDataType () { XmlSerializer ser = new XmlSerializer (typeof (InvalidTypeContainer)); ser.Serialize (TextWriter.Null, new InvalidTypeContainer ()); }
[Test] // bug #566370 public void SerializeEnumWithCSharpKeyword () { var ser = new XmlSerializer (typeof (DoxCompoundKind)); for (int i = 0; i < 100; i++) // test serialization code generator ser.Serialize (Console.Out, DoxCompoundKind.@class); }
public void Deserialize_NonSerializableObject_error() { var serializer = new XmlSerializer(typeof(NonSerializableObject)); var xml = "<NonSerializableObject />"; serializer.Deserialize(new StringReader(xml)); }
public void TestSerializeArrayEnc () { SoapReflectionImporter imp = new SoapReflectionImporter (); XmlTypeMapping map = imp.ImportTypeMapping (typeof (ArrayClass)); XmlSerializer ser = new XmlSerializer (map); StringWriter sw = new StringWriter (); XmlTextWriter tw = new XmlTextWriter (sw); tw.WriteStartElement ("aa"); ser.Serialize (tw, new ArrayClass ()); tw.WriteEndElement (); }
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 Serialize_NonSerializableObject_error() { var serializer = new XmlSerializer(typeof(NonSerializableObject)); var o = new NonSerializableObject("any"); var m = new MemoryStream(); serializer.Serialize(m,o); }
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); }
public void TestConstructor() { XmlSerializer ser = new XmlSerializer (null, ""); }
[Test] // bug #338705 public void SerializeTimeSpan () { // TimeSpan itself is not for duration. Hence it is just regarded as one of custom types. XmlSerializer ser = new XmlSerializer (typeof (TimeSpan)); ser.Serialize (TextWriter.Null, TimeSpan.Zero); }
[Test] // bug #76049 public void TestIncludeType () { XmlReflectionImporter imp = new XmlReflectionImporter (); XmlTypeMapping map = imp.ImportTypeMapping (typeof (object)); imp.IncludeType (typeof (TestSpace)); XmlSerializer ser = new XmlSerializer (map); ser.Serialize (new StringWriter (), new TestSpace ()); }
public void SerializeDurationToTimeSpan () { XmlSerializer ser = new XmlSerializer (typeof (TimeSpanContainer2)); ser.Serialize (TextWriter.Null, new TimeSpanContainer2 ()); }
[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 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); }
[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 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); }
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"); }
[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 XmlSchemaProviderQNameBecomesRootName () { xs = new XmlSerializer (typeof (XmlSchemaProviderQNameBecomesRootNameType)); Serialize (new XmlSchemaProviderQNameBecomesRootNameType ()); Assert.AreEqual (Infoset ("<foo />"), WriterText); xs.Deserialize (new StringReader ("<foo/>")); }
[Test] // bug #78042 public void XmlArrayAttributeOnArray () { XmlSerializer ser = new XmlSerializer (typeof (XmlArrayOnArray)); sw = new StringWriter (); XmlTextWriter xtw = new XmlTextWriter (sw); ser.Serialize (xtw, new XmlArrayOnArray ()); xtw.Close (); string expected = @"<?xml version=""1.0"" encoding=""utf-16""?><XmlArrayOnArray xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns=""urn:foo""><Sane xmlns=""""><string xmlns=""urn:foo"">foo</string><string xmlns=""urn:foo"">bar</string></Sane><Mids xmlns=""""><ArrayItemInXmlArray xmlns=""urn:foo""><Whee xmlns=""""><string xmlns=""urn:gyabo"">foo</string><string xmlns=""urn:gyabo"">bar</string></Whee></ArrayItemInXmlArray></Mids></XmlArrayOnArray>"; Assert.AreEqual (Infoset (expected), WriterText); }
public void XmlAnyElementForXmlNode () { var obj = new Bug2893 (); XmlSerializer mySerializer = new XmlSerializer(typeof(Bug2893)); XmlWriterSettings settings = new XmlWriterSettings(); var xsn = new XmlSerializerNamespaces(); xsn.Add(string.Empty, string.Empty); byte[] buffer = new byte[2048]; var ms = new MemoryStream(buffer); using (var xw = XmlWriter.Create(ms, settings)) { mySerializer.Serialize(xw, obj, xsn); xw.Flush(); } mySerializer.Serialize(ms, obj); }
public void XmlArrayAttributeOnCollection () { XmlSerializer ser = new XmlSerializer (typeof (XmlArrayOnArrayList)); XmlArrayOnArrayList inst = new XmlArrayOnArrayList (); inst.Sane.Add ("abc"); inst.Sane.Add (1); sw = new StringWriter (); XmlTextWriter xtw = new XmlTextWriter (sw); ser.Serialize (xtw, inst); xtw.Close (); string expected = @"<?xml version=""1.0"" encoding=""utf-16""?><XmlArrayOnArrayList xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns=""urn:foo""><Sane xmlns=""""><anyType xsi:type=""xsd:string"" xmlns=""urn:foo"">abc</anyType><anyType xsi:type=""xsd:int"" xmlns=""urn:foo"">1</anyType></Sane></XmlArrayOnArrayList>"; Assert.AreEqual (Infoset (expected), WriterText); }
private void Serialize (object o) { SetUpWriter (); xs = new XmlSerializer (o.GetType ()); xs.Serialize (xtw, o); }
private void SerializeEncoded (object o, SoapAttributeOverrides ao, string defaultNamespace) { XmlTypeMapping mapping = CreateSoapMapping (o.GetType (), ao, defaultNamespace); SetUpWriter (); xs = new XmlSerializer (mapping); xs.Serialize (xtw, o); }