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 : Assertion
\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 AssertNull (atts.XmlAnyAttribute);
\r
69 AssertNotNull (atts.XmlAnyElements);
\r
70 AssertEquals (0, atts.XmlAnyElements.Count);
\r
71 AssertNull (atts.XmlArray);
\r
72 AssertNotNull (atts.XmlArrayItems);
\r
73 AssertEquals (0, atts.XmlArrayItems.Count);
\r
74 AssertNull (atts.XmlAttribute);
\r
75 AssertNull (atts.XmlChoiceIdentifier);
\r
76 AssertNotNull (atts.XmlDefaultValue);
\r
78 AssertEquals (DBNull.Value, atts.XmlDefaultValue);
\r
79 AssertNotNull (atts.XmlElements);
\r
80 AssertEquals (0, atts.XmlElements.Count);
\r
81 AssertNull (atts.XmlEnum);
\r
82 AssertNotNull (atts.XmlIgnore);
\r
83 AssertEquals (TypeCode.Boolean, atts.XmlIgnore.GetTypeCode ());
\r
84 AssertEquals (false, atts.Xmlns);
\r
85 AssertNull (atts.XmlRoot);
\r
86 AssertNull (atts.XmlText);
\r
87 AssertNull (atts.XmlType);
\r
91 public void XmlTextAttribute ()
\r
93 // based on default ctor.
\r
94 XmlTextAttribute attr = new XmlTextAttribute ();
\r
95 AssertEquals ("", attr.DataType);
\r
96 AssertNull (attr.Type);
\r
98 XmlTextAttribute attr2 = new XmlTextAttribute (typeof (XmlNode));
\r
99 AssertEquals ("", attr.DataType);
\r
100 AssertNull (attr.Type);
\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 Fail ("Should be invalid.");
\r
113 } catch (InvalidOperationException ex) {
\r