2009-06-26 Robert Jordan <robertj@gmx.net>
[mono.git] / mcs / class / System.XML / Test / System.Xml / XmlAssert.cs
1 //
2 // XPathEditableNavigatorTests.cs
3 //
4 // Author:
5 //      Atsushi Enomoto  <atsushi@ximian.com>
6 //
7 // Copyright (C) 2005 Novell, Inc.  http://www.novell.com
8 //
9
10 using System;
11 using System.Xml;
12 using System.Xml.XPath;
13
14 using NUnit.Framework;
15
16 namespace MonoTests.System.Xml
17 {
18         public class XmlAssert
19         {
20                 // copy from XmlTextReaderTests
21                 public static void AssertStartDocument (XmlReader xmlReader,
22                         string label)
23                 {
24                         Assert.AreEqual (ReadState.Initial, xmlReader.ReadState, label + ".ReadState");
25                         Assert.AreEqual (XmlNodeType.None, xmlReader.NodeType, label + ".NodeType");
26                         Assert.AreEqual (0, xmlReader.Depth, label + ".Depth");
27                         Assert.IsFalse (xmlReader.EOF, label + ".EOF");
28                 }
29
30                 public static void AssertNode (
31                         string label,
32                         XmlReader xmlReader,
33                         XmlNodeType nodeType,
34                         int depth,
35                         bool isEmptyElement,
36                         string name,
37                         string prefix,
38                         string localName,
39                         string namespaceURI,
40                         string value,
41                         bool hasValue,
42                         int attributeCount,
43                         bool hasAttributes)
44                 {
45                         label = String.Concat (label, "(", xmlReader.GetType ().Name, ")");
46                         Assert.AreEqual (nodeType, xmlReader.NodeType, label + ".NodeType");
47                         Assert.AreEqual (isEmptyElement, xmlReader.IsEmptyElement,
48                                 label + ".IsEmptyElement");
49
50                         Assert.AreEqual (name, xmlReader.Name, label + ".Name");
51
52                         Assert.AreEqual (prefix, xmlReader.Prefix, label + ".Prefix");
53
54                         Assert.AreEqual (localName, xmlReader.LocalName, label + ".LocalName");
55
56                         Assert.AreEqual (namespaceURI, xmlReader.NamespaceURI, label + ".NamespaceURI");
57
58                         Assert.AreEqual (depth, xmlReader.Depth, label + ".Depth");
59
60                         Assert.AreEqual (hasValue, xmlReader.HasValue, label + ".HasValue");
61
62                         Assert.AreEqual (value, xmlReader.Value, label + ".Value");
63
64                         Assert.AreEqual (hasAttributes, xmlReader.HasAttributes,
65                                 label + "HasAttributes");
66
67                         Assert.AreEqual (attributeCount, xmlReader.AttributeCount,
68                                 label + ".AttributeCount");
69                 }
70
71                 public static void AssertAttribute (
72                         string label,
73                         XmlReader xmlReader,
74                         string name,
75                         string prefix,
76                         string localName,
77                         string namespaceURI,
78                         string value)
79                 {
80                         Assert.AreEqual (value, xmlReader [name], label + " [name]");
81
82                         Assert.AreEqual (value, xmlReader.GetAttribute (name),
83                                 label + ".GetAttribute(name)");
84
85                         if (namespaceURI != String.Empty) {
86                                 Assert.AreEqual (value, xmlReader [localName, namespaceURI], label + " [name]");
87                                 Assert.AreEqual (value, xmlReader.GetAttribute (localName, namespaceURI), label + ".GetAttribute(localName,namespaceURI)");
88                         }
89                 }
90
91                 public static void AssertEndDocument (XmlReader xmlReader, string label)
92                 {
93                         Assert.IsFalse (!xmlReader.Read (), label + ".Read()");
94                         Assert.AreEqual (XmlNodeType.None, xmlReader.NodeType,
95                                 label + ".NodeType is not XmlNodeType.None");
96                         Assert.AreEqual (0, xmlReader.Depth, label + ".Depth is not 0");
97                         Assert.AreEqual (ReadState.EndOfFile, xmlReader.ReadState,
98                                 label + "ReadState is not ReadState.EndOfFile");
99                         Assert.IsTrue (xmlReader.EOF, label + ".EOF");
100
101                         xmlReader.Close ();
102                         Assert.AreEqual (ReadState.Closed, xmlReader.ReadState,
103                                 label + ".ReadState is not ReadState.Cosed");
104                 }
105         }
106 }