XmlAssert.cs 3.1 KB

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