XmlCommentTests.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. //
  2. // System.Xml.XmlCommentTests.cs
  3. //
  4. // Author:
  5. // Duncan Mak ([email protected])
  6. //
  7. // (C) Ximian, Inc.
  8. //
  9. using System;
  10. using System.Xml;
  11. using NUnit.Framework;
  12. namespace Ximian.Mono.Tests
  13. {
  14. public class XmlCommentTests : TestCase
  15. {
  16. XmlDocument document;
  17. XmlComment comment;
  18. XmlNode original;
  19. XmlNode deep;
  20. XmlNode shallow;
  21. public XmlCommentTests ()
  22. : base ("Ximian.Mono.Tests.XmlCommentTests testsuite")
  23. {
  24. }
  25. public XmlCommentTests (string name)
  26. : base (name)
  27. {
  28. }
  29. protected override void SetUp ()
  30. {
  31. document = new XmlDocument ();
  32. document.LoadXml ("<root><foo></foo></root>");
  33. comment = document.CreateComment ("Comment");
  34. }
  35. internal void TestXmlNodeBaseProperties (XmlNode original, XmlNode cloned)
  36. {
  37. // assertequals (original.nodetype + " was incorrectly cloned.",
  38. // original.baseuri, cloned.baseuri);
  39. AssertNull (cloned.ParentNode);
  40. AssertEquals ("Value incorrectly cloned",
  41. original.Value, cloned.Value);
  42. Assert ("Copies, not pointers", !Object.ReferenceEquals (original,cloned));
  43. }
  44. public void TestXmlCommentName ()
  45. {
  46. AssertEquals (comment.NodeType + " Name property broken",
  47. comment.Name, "#comment");
  48. }
  49. public void TestXmlCommentLocalName ()
  50. {
  51. AssertEquals (comment.NodeType + " LocalName property broken",
  52. comment.LocalName, "#comment");
  53. }
  54. public void TestXmlCommentNodeType ()
  55. {
  56. AssertEquals ("XmlComment NodeType property broken",
  57. comment.NodeType.ToString (), "Comment");
  58. }
  59. public void TestXmlCommentIsReadOnly ()
  60. {
  61. AssertEquals ("XmlComment IsReadOnly property broken",
  62. comment.IsReadOnly, false);
  63. }
  64. public void TestXmlCommentCloneNode ()
  65. {
  66. original = comment;
  67. shallow = comment.CloneNode (false); // shallow
  68. TestXmlNodeBaseProperties (original, shallow);
  69. deep = comment.CloneNode (true); // deep
  70. TestXmlNodeBaseProperties (original, deep);
  71. AssertEquals ("Value incorrectly cloned",
  72. original.Value, deep.Value);
  73. AssertEquals ("deep cloning differs from shallow cloning",
  74. deep.OuterXml, shallow.OuterXml);
  75. }
  76. }
  77. }