| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- //
- // System.Xml.XmlAttributesTests
- //
- // Author:
- // Atsushi Enomoto
- //
- // (C) 2003 Atsushi Enomoto
- //
- using System;
- using System.IO;
- using System.Text;
- using System.Xml;
- using System.Xml.Schema;
- using System.Xml.Serialization;
- using NUnit.Framework;
- namespace MonoTests.System.XmlSerialization
- {
- [TestFixture]
- public class XmlAttributesTests
- {
- StringWriter sw;
- XmlTextWriter xtw;
- XmlSerializer xs;
- private void SetUpWriter ()
- {
- sw = new StringWriter ();
- xtw = new XmlTextWriter (sw);
- xtw.QuoteChar = '\'';
- xtw.Formatting = Formatting.None;
- }
-
- private string WriterText
- {
- get
- {
- string val = sw.GetStringBuilder ().ToString();
- int offset = val.IndexOf ('>') + 1;
- val = val.Substring (offset);
- return val;
- }
- }
- private void Serialize (object o, XmlAttributeOverrides ao)
- {
- SetUpWriter ();
- xs = new XmlSerializer (o.GetType (), ao);
- xs.Serialize (xtw, o);
- }
-
- private void Serialize (object o, XmlRootAttribute root)
- {
- SetUpWriter ();
- xs = new XmlSerializer (o.GetType(), root);
- xs.Serialize (xtw, o);
- }
- // Testcases.
- [Test]
- public void NewXmlAttributes ()
- {
- // seems not different from Type specified ctor().
- XmlAttributes atts = new XmlAttributes ();
- Assert.IsNull (atts.XmlAnyAttribute, "#1");
- Assert.IsNotNull (atts.XmlAnyElements, "#2");
- Assert.AreEqual (0, atts.XmlAnyElements.Count, "#3");
- Assert.IsNull (atts.XmlArray, "#4");
- Assert.IsNotNull (atts.XmlArrayItems, "#5");
- Assert.AreEqual (0, atts.XmlArrayItems.Count, "#6");
- Assert.IsNull (atts.XmlAttribute, "#7");
- Assert.IsNull (atts.XmlChoiceIdentifier, "#8");
- Assert.IsNotNull (atts.XmlDefaultValue, "#9");
- // DBNull??
- Assert.AreEqual (DBNull.Value, atts.XmlDefaultValue, "#10");
- Assert.IsNotNull (atts.XmlElements, "#11");
- Assert.AreEqual (0, atts.XmlElements.Count, "#12");
- Assert.IsNull (atts.XmlEnum, "#13");
- Assert.IsNotNull (atts.XmlIgnore, "#14");
- Assert.AreEqual (TypeCode.Boolean, atts.XmlIgnore.GetTypeCode (), "#15");
- Assert.AreEqual (false, atts.Xmlns, "#16");
- Assert.IsNull (atts.XmlRoot, "#17");
- Assert.IsNull (atts.XmlText, "#18");
- Assert.IsNull (atts.XmlType, "#19");
- }
- [Test]
- public void XmlTextAttribute ()
- {
- // based on default ctor.
- XmlTextAttribute attr = new XmlTextAttribute ();
- Assert.AreEqual ("", attr.DataType, "#1");
- Assert.IsNull (attr.Type, "#2");
- // based on a type.
- XmlTextAttribute attr2 = new XmlTextAttribute (typeof (XmlNode));
- Assert.AreEqual ("", attr.DataType, "#3");
- Assert.IsNull (attr.Type, "#4");
- }
- [Test]
- public void XmlInvalidElementAttribute ()
- {
- XmlAttributeOverrides ao = new XmlAttributeOverrides ();
- XmlAttributes atts = new XmlAttributes ();
- atts.XmlElements.Add (new XmlElementAttribute ("xInt"));
- ao.Add (typeof (int), atts);
- try {
- Serialize (10, ao);
- Assert.Fail ("Should be invalid.");
- } catch (InvalidOperationException ex) {
- }
- }
- }
- }
|