2002-11-24 Ville Palo <vi64pa@koti.soon.fi>
authorVille Palo <ville@mono-cvs.ximian.com>
Sun, 24 Nov 2002 15:39:02 +0000 (15:39 -0000)
committerVille Palo <ville@mono-cvs.ximian.com>
Sun, 24 Nov 2002 15:39:02 +0000 (15:39 -0000)
* System.Xml/XmlDataDocumentTest.cs: Added new test suite for
XmlDataDocument.
* System.Xml/store.xsd:
* System.Xml/region.xsd
* System.Xml/region.xml:
* System.Xml/2books.xml: Needed by XmlDocumentTest.cs
* AllTests.cs:
* data_linux_test.args:Added XmlDataDocumentTest.cs

svn path=/trunk/mcs/; revision=9167

mcs/class/System.Data/Test/AllTests.cs
mcs/class/System.Data/Test/ChangeLog
mcs/class/System.Data/Test/System.Xml/2books.xml [new file with mode: 0755]
mcs/class/System.Data/Test/System.Xml/AllTests.cs [new file with mode: 0644]
mcs/class/System.Data/Test/System.Xml/XmlDataDocumentTest.cs [new file with mode: 0755]
mcs/class/System.Data/Test/System.Xml/region.xml [new file with mode: 0755]
mcs/class/System.Data/Test/System.Xml/region.xsd [new file with mode: 0755]
mcs/class/System.Data/Test/System.Xml/store.xsd [new file with mode: 0755]
mcs/class/System.Data/Test/data_linux_test.args

index 3d64c22297d1b6dcac62d080165bcf2bb98bbeaf..772d94b73960623a136584eb2590843150a4ee06 100644 (file)
@@ -14,6 +14,7 @@ namespace MonoTests {
                        get {
                                TestSuite suite = new TestSuite ();
                                suite.AddTest (System.Data.SqlTypes.AllTests.Suite);
+                               suite.AddTest (System.Data.Xml.AllTests.Suite);
                                return suite;
                        }
                }
index 5b9cea2cb510172d716d12532b9c729aeee20ba6..728e3d067ef6ad65d2f5450e853273b584de6c11 100644 (file)
@@ -1,3 +1,14 @@
+2002-11-24  Ville Palo <vi64pa@koti.soon.fi>
+
+       * System.Xml/XmlDataDocumentTest.cs: Added new test suite for
+       XmlDataDocument.
+       * System.Xml/store.xsd:
+       * System.Xml/region.xsd
+       * System.Xml/region.xml:
+       * System.Xml/2books.xml: Needed by XmlDocumentTest.cs
+       * AllTests.cs: 
+       * data_linux_test.args:Added XmlDataDocumentTest.cs
+       
 2002-11-12  Ville Palo <vi64pa@koti.soon.fi>
 
        * System.Data.SqlTypes/SqlStringTest.cs: Added tests
diff --git a/mcs/class/System.Data/Test/System.Xml/2books.xml b/mcs/class/System.Data/Test/System.Xml/2books.xml
new file mode 100755 (executable)
index 0000000..fc3b3c3
--- /dev/null
@@ -0,0 +1,11 @@
+<!--sample XML fragment-->\r
+<bookstore>\r
+  <book genre='novel' ISBN='10-861003-324'>\r
+    <title>The Handmaid's Tale</title>\r
+    <price>19.95</price>\r
+  </book>\r
+  <book genre='novel' ISBN='1-861001-57-5'>\r
+    <title>Pride And Prejudice</title>\r
+    <price>24.95</price>\r
+  </book>\r
+</bookstore>\r
diff --git a/mcs/class/System.Data/Test/System.Xml/AllTests.cs b/mcs/class/System.Data/Test/System.Xml/AllTests.cs
new file mode 100644 (file)
index 0000000..faa01ea
--- /dev/null
@@ -0,0 +1,23 @@
+// Author:
+//   Ville Palo (vi64pa@koti.soon.fi)
+//
+// (C) Copyright 2002 Ville Palo
+//
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.Xml
+{
+       public class AllTests : TestCase
+       {
+               public AllTests (string name) : base (name) {}
+
+               public static ITest Suite {
+                       get {
+                               TestSuite suite =  new TestSuite ();
+                               suite.AddTest (new TestSuite (typeof (XmlDataDocumentTest)));
+                               return suite;
+                       }
+               }
+       }
+}
diff --git a/mcs/class/System.Data/Test/System.Xml/XmlDataDocumentTest.cs b/mcs/class/System.Data/Test/System.Xml/XmlDataDocumentTest.cs
new file mode 100755 (executable)
index 0000000..004efff
--- /dev/null
@@ -0,0 +1,239 @@
+//\r
+// XmlDataDocumentTestTest.cs - NUnit Test Cases for  XmlDataDocument\r
+//\r
+// Ville Palo (vi64pa@koti.soon.fi)\r
+//\r
+// (C) Ville Palo 2002\r
+// \r
+\r
+using NUnit.Framework;\r
+using System;\r
+using System.Data;\r
+using System.Xml;\r
+using System.IO;\r
+\r
+namespace MonoTests.System.Data.Xml\r
+{\r
+        public class XmlDataDocumentTest : TestCase {\r
+       \r
+\r
+               public XmlDataDocumentTest() : base ("System.Xml.XmlDataDocument") {}\r
+               public XmlDataDocumentTest(string name) : base(name) {}\r
+\r
+               protected override void TearDown() {}\r
+\r
+               protected override void SetUp() \r
+               {\r
+               }\r
+\r
+               public static ITest Suite {\r
+                       get {\r
+                               return new TestSuite(typeof(XmlDataDocumentTest));\r
+                       }\r
+               }\r
+\r
+               // Test constructor\r
+               public void Test1()                     \r
+               {\r
+\r
+                       //Create an XmlDataDocument.\r
+                       XmlDataDocument doc = new XmlDataDocument();\r
+\r
+                       //Load the schema file.\r
+                       doc.DataSet.ReadXmlSchema("System.Xml/store.xsd"); \r
+\r
+                       //Load the XML data.\r
+                       doc.Load("System.Data/2books.xml");\r
+\r
+                       //Update the price on the first book using the DataSet methods.\r
+                       DataTable books = doc.DataSet.Tables["book"];\r
+                       books.Rows[0]["price"] = "12,95";  \r
+\r
+                       //string outstring = "";\r
+                       TextWriter text = new StringWriter ();\r
+                       doc.Save(text);\r
+                       \r
+                       //str.Read (bytes, 0, (int)str.Length);\r
+                       //String OutString = new String (bytes);\r
+                       \r
+                       string TextString = text.ToString ();\r
+                       string substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#A01", "<?xml version=\"1.0\" encoding=\"utf-16\"?>", substring);\r
+                                               \r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#A02", "<!--sample XML fragment-->", substring);\r
+                       \r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#A03", "<bookstore>", substring);\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#A04", "  <book genre=\"novel\" ISBN=\"10-861003-324\">", substring);\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#A05", "    <title>The Handmaid's Tale</title>", substring);\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#A06", "    <price>12.95</price>", substring);\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#A07", "  </book>", substring);\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#A08", "  <book genre=\"novel\" ISBN=\"1-861001-57-5\">", substring);\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#A09", "    <title>Pride And Prejudice</title>", substring);\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#A10", "    <price>24.95</price>", substring);\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#A11", "  </book>", substring);\r
+                       substring = TextString;\r
+                       AssertEquals ("#A12", "</bookstore>", substring);\r
+\r
+               }\r
+\r
+               // Test public fields\r
+               public void Test2()\r
+               {\r
+                       DataSet RegionDS = new DataSet ();\r
+                       DataRow RegionRow;\r
+                       RegionDS.ReadXmlSchema ("System.Xml/region.xsd");\r
+                       XmlDataDocument DataDoc = new XmlDataDocument (RegionDS);\r
+                       DataDoc.Load("System.Data/region.xml" );\r
+\r
+\r
+                       RegionRow = RegionDS.Tables[0].Rows[0];\r
+\r
+                       RegionDS.AcceptChanges ();\r
+                       RegionRow["RegionDescription"] = "Reeeeeaalllly Far East!";\r
+                       RegionDS.AcceptChanges ();\r
+\r
+                       TextWriter text = new StringWriter ();\r
+\r
+                       DataDoc.Save (text);\r
+                       string TextString = text.ToString ();\r
+                       string substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       \r
+                       AssertEquals ("#B01", "<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B02", "<Root>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B03", "  <Region>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B04", "    <RegionID>1</RegionID>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B05", "    <RegionDescription>Reeeeeaalllly Far East!</RegionDescription>", substring);\r
+                       \r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B06", "  </Region>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B07", "  <Region>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B08", "    <RegionID>2</RegionID>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B09", "    <RegionDescription>Western", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B10", "   </RegionDescription>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B11", "  </Region>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B12", "  <Region>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B13", "    <RegionID>3</RegionID>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B14", "    <RegionDescription>Northern", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B15", "   </RegionDescription>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B16", "  </Region>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B17", "  <Region>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B18", "    <RegionID>4</RegionID>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B19", "    <RegionDescription>Southern", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B20", "   </RegionDescription>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B21", "  </Region>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B22", "  <MoreData>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B23", "    <Column1>12</Column1>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B24", "    <Column2>Hi There</Column2>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B25", "  </MoreData>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B26", "  <MoreData>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B27", "    <Column1>12</Column1>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B28", "    <Column2>Hi There</Column2>", substring);\r
+\r
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);\r
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);\r
+                       AssertEquals ("#B29", "  </MoreData>", substring);\r
+               }\r
+        }\r
+}\r
+\r
diff --git a/mcs/class/System.Data/Test/System.Xml/region.xml b/mcs/class/System.Data/Test/System.Xml/region.xml
new file mode 100755 (executable)
index 0000000..fc3b3c3
--- /dev/null
@@ -0,0 +1,11 @@
+<!--sample XML fragment-->\r
+<bookstore>\r
+  <book genre='novel' ISBN='10-861003-324'>\r
+    <title>The Handmaid's Tale</title>\r
+    <price>19.95</price>\r
+  </book>\r
+  <book genre='novel' ISBN='1-861001-57-5'>\r
+    <title>Pride And Prejudice</title>\r
+    <price>24.95</price>\r
+  </book>\r
+</bookstore>\r
diff --git a/mcs/class/System.Data/Test/System.Xml/region.xsd b/mcs/class/System.Data/Test/System.Xml/region.xsd
new file mode 100755 (executable)
index 0000000..fee8a81
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0" standalone="yes"?>\r
+<xsd:schema id="Root" xmlns=""\r
+xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-\r
+com:xml-msdata">\r
+ <xsd:element name="Root" msdata:IsDataSet="true">\r
+   <xsd:complexType>\r
+     <xsd:choice maxOccurs="unbounded">\r
+       <xsd:element name="Region">\r
+         <xsd:complexType>\r
+           <xsd:sequence>\r
+             <xsd:element name="RegionID" type="xsd:string"\r
+             minOccurs="0" />\r
+             <xsd:element name="RegionDescription" type="xsd:string"\r
+             minOccurs="0" />\r
+           </xsd:sequence>\r
+         </xsd:complexType>\r
+       </xsd:element>\r
+     </xsd:choice>\r
+   </xsd:complexType>\r
+ </xsd:element>\r
+</xsd:schema>\r
diff --git a/mcs/class/System.Data/Test/System.Xml/store.xsd b/mcs/class/System.Data/Test/System.Xml/store.xsd
new file mode 100755 (executable)
index 0000000..1e2533e
--- /dev/null
@@ -0,0 +1,27 @@
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">\r
+\r
+ <xsd:element name="bookstore" type="bookstoreType"/>\r
+\r
+ <xsd:complexType name="bookstoreType">\r
+  <xsd:sequence maxOccurs="unbounded">\r
+   <xsd:element name="book"  type="bookType"/>\r
+  </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="bookType">\r
+  <xsd:sequence>\r
+   <xsd:element name="title" type="xsd:string"/>\r
+   <xsd:element name="author" type="authorName"/>\r
+   <xsd:element name="price"  type="xsd:decimal"/>\r
+  </xsd:sequence>\r
+  <xsd:attribute name="genre" type="xsd:string"/>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="authorName">\r
+  <xsd:sequence>\r
+   <xsd:element name="first-name"  type="xsd:string"/>\r
+   <xsd:element name="last-name" type="xsd:string"/>\r
+  </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+</xsd:schema>
\ No newline at end of file
index 93e258bb6a4a849fc72ea679fd2dcde708b7507a..ced2baac24225cdb52e0eaf4b1e8b2e8fe68a9a5 100644 (file)
@@ -18,4 +18,6 @@ System.Data.SqlTypes/SqlDateTimeTest.cs
 System.Data.SqlTypes/SqlGuidTest.cs
 System.Data.SqlTypes/SqlDecimalTest.cs
 System.Data.SqlTypes/SqlStringTest.cs
+System.Xml/XmlDataDocumentTest.cs
+System.Xml/AllTests.cs
 AllTests.cs