XmlDataDocumentTest.cs 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. //
  2. // XmlDataDocumentTestTest.cs - NUnit Test Cases for XmlDataDocument
  3. //
  4. // Ville Palo ([email protected])
  5. //
  6. // (C) Ville Palo 2002
  7. //
  8. using NUnit.Framework;
  9. using System;
  10. using System.Data;
  11. using System.Xml;
  12. using System.IO;
  13. namespace MonoTests.System.Data.Xml
  14. {
  15. public class XmlDataDocumentTest : TestCase {
  16. public XmlDataDocumentTest() : base ("System.Xml.XmlDataDocument") {}
  17. public XmlDataDocumentTest(string name) : base(name) {}
  18. protected override void TearDown() {}
  19. protected override void SetUp()
  20. {
  21. }
  22. public static ITest Suite {
  23. get {
  24. return new TestSuite(typeof(XmlDataDocumentTest));
  25. }
  26. }
  27. // Test constructor
  28. public void Test1()
  29. {
  30. //Create an XmlDataDocument.
  31. XmlDataDocument doc = new XmlDataDocument();
  32. //Load the schema file.
  33. doc.DataSet.ReadXmlSchema("System.Xml/store.xsd");
  34. //Load the XML data.
  35. doc.Load("System.Data/2books.xml");
  36. //Update the price on the first book using the DataSet methods.
  37. DataTable books = doc.DataSet.Tables["book"];
  38. books.Rows[0]["price"] = "12,95";
  39. //string outstring = "";
  40. TextWriter text = new StringWriter ();
  41. doc.Save(text);
  42. //str.Read (bytes, 0, (int)str.Length);
  43. //String OutString = new String (bytes);
  44. string TextString = text.ToString ();
  45. string substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  46. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  47. AssertEquals ("#A01", "<?xml version=\"1.0\" encoding=\"utf-16\"?>", substring);
  48. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  49. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  50. AssertEquals ("#A02", "<!--sample XML fragment-->", substring);
  51. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  52. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  53. AssertEquals ("#A03", "<bookstore>", substring);
  54. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  55. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  56. AssertEquals ("#A04", " <book genre=\"novel\" ISBN=\"10-861003-324\">", substring);
  57. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  58. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  59. AssertEquals ("#A05", " <title>The Handmaid's Tale</title>", substring);
  60. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  61. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  62. AssertEquals ("#A06", " <price>12.95</price>", substring);
  63. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  64. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  65. AssertEquals ("#A07", " </book>", substring);
  66. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  67. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  68. AssertEquals ("#A08", " <book genre=\"novel\" ISBN=\"1-861001-57-5\">", substring);
  69. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  70. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  71. AssertEquals ("#A09", " <title>Pride And Prejudice</title>", substring);
  72. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  73. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  74. AssertEquals ("#A10", " <price>24.95</price>", substring);
  75. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  76. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  77. AssertEquals ("#A11", " </book>", substring);
  78. substring = TextString;
  79. AssertEquals ("#A12", "</bookstore>", substring);
  80. }
  81. // Test public fields
  82. public void Test2()
  83. {
  84. DataSet RegionDS = new DataSet ();
  85. DataRow RegionRow;
  86. RegionDS.ReadXmlSchema ("System.Xml/region.xsd");
  87. XmlDataDocument DataDoc = new XmlDataDocument (RegionDS);
  88. DataDoc.Load("System.Data/region.xml" );
  89. RegionRow = RegionDS.Tables[0].Rows[0];
  90. RegionDS.AcceptChanges ();
  91. RegionRow["RegionDescription"] = "Reeeeeaalllly Far East!";
  92. RegionDS.AcceptChanges ();
  93. TextWriter text = new StringWriter ();
  94. DataDoc.Save (text);
  95. string TextString = text.ToString ();
  96. string substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  97. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  98. AssertEquals ("#B01", "<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?>", substring);
  99. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  100. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  101. AssertEquals ("#B02", "<Root>", substring);
  102. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  103. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  104. AssertEquals ("#B03", " <Region>", substring);
  105. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  106. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  107. AssertEquals ("#B04", " <RegionID>1</RegionID>", substring);
  108. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  109. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  110. AssertEquals ("#B05", " <RegionDescription>Reeeeeaalllly Far East!</RegionDescription>", substring);
  111. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  112. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  113. AssertEquals ("#B06", " </Region>", substring);
  114. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  115. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  116. AssertEquals ("#B07", " <Region>", substring);
  117. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  118. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  119. AssertEquals ("#B08", " <RegionID>2</RegionID>", substring);
  120. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  121. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  122. AssertEquals ("#B09", " <RegionDescription>Western", substring);
  123. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  124. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  125. AssertEquals ("#B10", " </RegionDescription>", substring);
  126. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  127. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  128. AssertEquals ("#B11", " </Region>", substring);
  129. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  130. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  131. AssertEquals ("#B12", " <Region>", substring);
  132. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  133. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  134. AssertEquals ("#B13", " <RegionID>3</RegionID>", substring);
  135. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  136. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  137. AssertEquals ("#B14", " <RegionDescription>Northern", substring);
  138. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  139. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  140. AssertEquals ("#B15", " </RegionDescription>", substring);
  141. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  142. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  143. AssertEquals ("#B16", " </Region>", substring);
  144. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  145. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  146. AssertEquals ("#B17", " <Region>", substring);
  147. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  148. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  149. AssertEquals ("#B18", " <RegionID>4</RegionID>", substring);
  150. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  151. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  152. AssertEquals ("#B19", " <RegionDescription>Southern", substring);
  153. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  154. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  155. AssertEquals ("#B20", " </RegionDescription>", substring);
  156. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  157. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  158. AssertEquals ("#B21", " </Region>", substring);
  159. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  160. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  161. AssertEquals ("#B22", " <MoreData>", substring);
  162. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  163. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  164. AssertEquals ("#B23", " <Column1>12</Column1>", substring);
  165. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  166. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  167. AssertEquals ("#B24", " <Column2>Hi There</Column2>", substring);
  168. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  169. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  170. AssertEquals ("#B25", " </MoreData>", substring);
  171. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  172. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  173. AssertEquals ("#B26", " <MoreData>", substring);
  174. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  175. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  176. AssertEquals ("#B27", " <Column1>12</Column1>", substring);
  177. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  178. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  179. AssertEquals ("#B28", " <Column2>Hi There</Column2>", substring);
  180. substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
  181. TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
  182. AssertEquals ("#B29", " </MoreData>", substring);
  183. }
  184. }
  185. }