XmlNodeReaderTests.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. //
  2. // System.Xml.XmlNodeReaderTests
  3. //
  4. // Authors:
  5. // Atsushi Enomoto <[email protected]>
  6. // Martin Willemoes Hansen <[email protected]>
  7. //
  8. // (C) 2003 Atsushi Enomoto
  9. // (C) 2003 Martin Willemoes Hansen
  10. //
  11. //
  12. using System;
  13. using System.IO;
  14. using System.Text;
  15. using System.Xml;
  16. using NUnit.Framework;
  17. namespace MonoTests.System.Xml
  18. {
  19. [TestFixture]
  20. public class XmlNodeReaderTests
  21. {
  22. [SetUp]
  23. public void GetReady ()
  24. {
  25. document.LoadXml ("<root attr1='value1'><child /></root>");
  26. }
  27. XmlDocument document = new XmlDocument ();
  28. [Test]
  29. public void InvalidConstruction ()
  30. {
  31. XmlNodeReader nrdr;
  32. try {
  33. nrdr = new XmlNodeReader (null);
  34. Assertion.Fail ("null reference exception is preferable.");
  35. } catch (NullReferenceException ex) {
  36. }
  37. nrdr = new XmlNodeReader (new XmlDocument ());
  38. nrdr.Read ();
  39. Assertion.AssertEquals ("newDoc.ReadState", ReadState.Error, nrdr.ReadState);
  40. Assertion.AssertEquals ("newDoc.EOF", true, nrdr.EOF);
  41. Assertion.AssertEquals ("newDoc.NodeType", XmlNodeType.None, nrdr.NodeType);
  42. nrdr = new XmlNodeReader (document.CreateDocumentFragment ());
  43. nrdr.Read ();
  44. Assertion.AssertEquals ("Fragment.ReadState", ReadState.Error, nrdr.ReadState);
  45. Assertion.AssertEquals ("Fragment.EOF", true, nrdr.EOF);
  46. Assertion.AssertEquals ("Fragment.NodeType", XmlNodeType.None, nrdr.NodeType);
  47. }
  48. [Test]
  49. public void ReadFromElement ()
  50. {
  51. XmlNodeReader nrdr = new XmlNodeReader (document.DocumentElement);
  52. nrdr.Read ();
  53. Assertion.AssertEquals ("<root>.NodeType", XmlNodeType.Element, nrdr.NodeType);
  54. Assertion.AssertEquals ("<root>.Name", "root", nrdr.Name);
  55. Assertion.AssertEquals ("<root>.ReadState", ReadState.Interactive, nrdr.ReadState);
  56. Assertion.AssertEquals ("<root>.Depth", 0, nrdr.Depth);
  57. }
  58. [Test]
  59. public void ReadInnerXmlWrongInit ()
  60. {
  61. document.LoadXml ("<root>test of <b>mixed</b> string.</root>");
  62. XmlNodeReader nrdr = new XmlNodeReader (document);
  63. nrdr.ReadInnerXml ();
  64. Assertion.AssertEquals ("initial.ReadState", ReadState.Error, nrdr.ReadState);
  65. Assertion.AssertEquals ("initial.EOF", true, nrdr.EOF);
  66. Assertion.AssertEquals ("initial.NodeType", XmlNodeType.None, nrdr.NodeType);
  67. }
  68. }
  69. }