2 // System.Xml.XmlAttributesTests
\r
7 // (C) 2003 Atsushi Enomoto
\r
14 using System.Xml.Schema;
\r
15 using System.Xml.Serialization;
\r
17 using NUnit.Framework;
\r
19 namespace MonoTests.System.XmlSerialization
\r
22 public class XmlAttributesTests
\r
28 private void SetUpWriter ()
\r
30 sw = new StringWriter ();
\r
31 xtw = new XmlTextWriter (sw);
\r
32 xtw.QuoteChar = '\'';
\r
33 xtw.Formatting = Formatting.None;
\r
36 private string WriterText
\r
40 string val = sw.GetStringBuilder ().ToString();
\r
41 int offset = val.IndexOf ('>') + 1;
\r
42 val = val.Substring (offset);
\r
47 private void Serialize (object o, XmlAttributeOverrides ao)
\r
50 xs = new XmlSerializer (o.GetType (), ao);
\r
51 xs.Serialize (xtw, o);
\r
54 private void Serialize (object o, XmlRootAttribute root)
\r
57 xs = new XmlSerializer (o.GetType(), root);
\r
58 xs.Serialize (xtw, o);
\r
64 public void NewXmlAttributes ()
\r
66 // seems not different from Type specified ctor().
\r
67 XmlAttributes atts = new XmlAttributes ();
\r
68 Assert.IsNull (atts.XmlAnyAttribute, "#1");
\r
69 Assert.IsNotNull (atts.XmlAnyElements, "#2");
\r
70 Assert.AreEqual (0, atts.XmlAnyElements.Count, "#3");
\r
71 Assert.IsNull (atts.XmlArray, "#4");
\r
72 Assert.IsNotNull (atts.XmlArrayItems, "#5");
\r
73 Assert.AreEqual (0, atts.XmlArrayItems.Count, "#6");
\r
74 Assert.IsNull (atts.XmlAttribute, "#7");
\r
75 Assert.IsNull (atts.XmlChoiceIdentifier, "#8");
\r
76 Assert.IsNotNull (atts.XmlDefaultValue, "#9");
\r
78 Assert.AreEqual (DBNull.Value, atts.XmlDefaultValue, "#10");
\r
79 Assert.IsNotNull (atts.XmlElements, "#11");
\r
80 Assert.AreEqual (0, atts.XmlElements.Count, "#12");
\r
81 Assert.IsNull (atts.XmlEnum, "#13");
\r
82 Assert.IsNotNull (atts.XmlIgnore, "#14");
\r
83 Assert.AreEqual (TypeCode.Boolean, atts.XmlIgnore.GetTypeCode (), "#15");
\r
84 Assert.AreEqual (false, atts.Xmlns, "#16");
\r
85 Assert.IsNull (atts.XmlRoot, "#17");
\r
86 Assert.IsNull (atts.XmlText, "#18");
\r
87 Assert.IsNull (atts.XmlType, "#19");
\r
91 public void XmlTextAttribute ()
\r
93 // based on default ctor.
\r
94 XmlTextAttribute attr = new XmlTextAttribute ();
\r
95 Assert.AreEqual ("", attr.DataType, "#1");
\r
96 Assert.IsNull (attr.Type, "#2");
\r
98 XmlTextAttribute attr2 = new XmlTextAttribute (typeof (XmlNode));
\r
99 Assert.AreEqual ("", attr.DataType, "#3");
\r
100 Assert.IsNull (attr.Type, "#4");
\r
104 public void XmlInvalidElementAttribute ()
\r
106 XmlAttributeOverrides ao = new XmlAttributeOverrides ();
\r
107 XmlAttributes atts = new XmlAttributes ();
\r
108 atts.XmlElements.Add (new XmlElementAttribute ("xInt"));
\r
109 ao.Add (typeof (int), atts);
\r
111 Serialize (10, ao);
\r
112 Assert.Fail ("Should be invalid.");
\r
113 } catch (InvalidOperationException ex) {
\r