Beispiel #1
0
		private void SerializeEncoded (XmlTextWriter xtw, object o, Type type)
		{
			XmlTypeMapping mapping = CreateSoapMapping (type);
			xs = new XmlSerializer (mapping);
			xs.Serialize (xtw, o);
		}
Beispiel #2
0
		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));
		}
Beispiel #3
0
		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");
		}
Beispiel #4
0
		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);
		}
Beispiel #5
0
		public void SupportPrivateCtorOnly ()
		{
			XmlSerializer xs =
				new XmlSerializer (typeof (PrivateCtorOnly));
			StringWriter sw = new StringWriter ();
			xs.Serialize (sw, PrivateCtorOnly.Instance);
			xs.Deserialize (new StringReader (sw.ToString ()));
		}
Beispiel #6
0
		public void SerializeInvalidDataType ()
		{
			XmlSerializer ser = new XmlSerializer (typeof (InvalidTypeContainer));
			ser.Serialize (TextWriter.Null, new InvalidTypeContainer ());
		}
Beispiel #7
0
		[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);
		}
Beispiel #8
0
        public void Deserialize_NonSerializableObject_error()
        {
            var serializer = new XmlSerializer(typeof(NonSerializableObject));
            var xml = "<NonSerializableObject />";

            serializer.Deserialize(new StringReader(xml));
        }
Beispiel #9
0
		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 ();
		}
Beispiel #10
0
        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);
        }
Beispiel #11
0
        public void Serialize_NonSerializableObject_error()
        {
            var serializer = new XmlSerializer(typeof(NonSerializableObject));
            var o = new NonSerializableObject("any");
            var m = new MemoryStream();

            serializer.Serialize(m,o);
        }
Beispiel #12
0
        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);
        }
Beispiel #13
0
        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);
        }
Beispiel #14
0
		public void TestConstructor()
		{
			XmlSerializer ser = new XmlSerializer (null, "");
		}
Beispiel #15
0
		[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);
		}
Beispiel #16
0
		[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 ());
		}
Beispiel #17
0
		public void SerializeDurationToTimeSpan ()
		{
			XmlSerializer ser = new XmlSerializer (typeof (TimeSpanContainer2));
			ser.Serialize (TextWriter.Null, new TimeSpanContainer2 ());
		}
Beispiel #18
0
		[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));
		}
Beispiel #19
0
		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);
		}
Beispiel #20
0
		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);
		}
Beispiel #21
0
		[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);
		}
Beispiel #22
0
		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);
		}
Beispiel #23
0
		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");
		}
Beispiel #24
0
		[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);
		}
Beispiel #25
0
		public void XmlSchemaProviderQNameBecomesRootName ()
		{
			xs = new XmlSerializer (typeof (XmlSchemaProviderQNameBecomesRootNameType));
			Serialize (new XmlSchemaProviderQNameBecomesRootNameType ());
			Assert.AreEqual (Infoset ("<foo />"), WriterText);
			xs.Deserialize (new StringReader ("<foo/>"));
		}
Beispiel #26
0
		[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);
		}
Beispiel #27
0
		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);
		}
Beispiel #28
0
		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);
		}
Beispiel #29
0
		private void Serialize (object o)
		{
			SetUpWriter ();
			xs = new XmlSerializer (o.GetType ());
			xs.Serialize (xtw, o);
		}
Beispiel #30
0
		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);
		}