2010-06-29 Marek Safar <marek.safar@gmail.com>
[mono.git] / mcs / class / System.Data / Test / System.Xml / XmlDataDocumentTest.cs
old mode 100755 (executable)
new mode 100644 (file)
index 2409454..db7eff1
 // (C) 2003 Martin Willemoes Hansen
 // 
 
-using NUnit.Framework;
+//
+// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
 using System;
 using System.Data;
-using System.Xml;
-using System.Xml.XPath;
+using System.Globalization;
 using System.IO;
 using System.Threading;
-using System.Globalization;
+using System.Xml;
+using System.Xml.XPath;
+
+using NUnit.Framework;
 
 namespace MonoTests.System.Data.Xml
 {
        [TestFixture]
-        public class XmlDataDocumentTest : Assertion {
+       public class XmlDataDocumentTest : DataSetAssertion {
 
+               static string EOL = "\n";
+
+               private CultureInfo originalCulture;
 
                [SetUp]
-                public void GetReady() 
-                {
-                       Thread.CurrentThread.CurrentCulture = new CultureInfo ("en-US");
-                }
+               public void SetUp ()
+               {
+                       originalCulture = Thread.CurrentThread.CurrentCulture;
+                       Thread.CurrentThread.CurrentCulture = new CultureInfo ("en-US");
+               }
+
+               [TearDown]
+               public void TearDown ()
+               {
+                       Thread.CurrentThread.CurrentCulture = originalCulture;
+               }
+
+               [Test]
+               public void NewInstance ()
+               {
+                       XmlDataDocument doc = new XmlDataDocument ();
+                       AssertDataSet ("#1", doc.DataSet, "NewDataSet", 0, 0);
+                       Assert.IsFalse (doc.DataSet.EnforceConstraints);
+                       XmlElement el = doc.CreateElement ("TEST");
+                       AssertDataSet ("#2", doc.DataSet, "NewDataSet", 0, 0);
+                       Assert.IsNull (doc.GetRowFromElement (el));
+                       doc.AppendChild (el);
+                       AssertDataSet ("#3", doc.DataSet, "NewDataSet", 0, 0);
+
+                       DataSet ds = new DataSet ();
+                       doc = new XmlDataDocument (ds);
+                       Assert.IsTrue (doc.DataSet.EnforceConstraints);
+               }
+
+               [Test]
+               public void SimpleLoad ()
+               {
+                       string xml001 = "<root/>";
+                       XmlDataDocument doc = new XmlDataDocument ();
+                       DataSet ds = new DataSet ();
+                       ds.InferXmlSchema (new StringReader (xml001), null);
+                       doc.LoadXml (xml001);
+
+                       string xml002 = "<root><child/></root>";
+                       doc = new XmlDataDocument ();
+                       ds = new DataSet ();
+                       ds.InferXmlSchema (new StringReader (xml002), null);
+                       doc.LoadXml (xml002);
+
+                       string xml003 = "<root><col1>test</col1><col1></col1></root>";
+                       doc = new XmlDataDocument ();
+                       ds = new DataSet ();
+                       ds.InferXmlSchema (new StringReader (xml003), null);
+                       doc.LoadXml (xml003);
+
+                       string xml004 = "<set><tab1><col1>test</col1><col1>test2</col1></tab1><tab2><col2>test3</col2><col2>test4</col2></tab2></set>";
+                       doc = new XmlDataDocument ();
+                       ds = new DataSet ();
+                       ds.InferXmlSchema (new StringReader (xml004), null);
+                       doc.LoadXml (xml004);
+               }
 
                [Test]
                 public void CloneNode ()
                 {
                        XmlDataDocument doc = new XmlDataDocument ();
                        
-                       doc.DataSet.ReadXmlSchema ("System.Xml/region.xsd");
-                       doc.Load ("System.Xml/region.xml");
+                       doc.DataSet.ReadXmlSchema ("Test/System.Xml/region.xsd");
+                       doc.Load ("Test/System.Xml/region.xml");
                 
                        XmlDataDocument doc2 = (XmlDataDocument)doc.CloneNode (false);
                        
-                       AssertEquals ("#I01", 0, doc2.ChildNodes.Count);
-                       AssertEquals ("#I02", "<?xml version=\"1.0\" encoding=\"utf-16\"?>", doc2.DataSet.GetXmlSchema ().Substring (0, 39));
+                       Assert.AreEqual (0, doc2.ChildNodes.Count, "#I01");
+                       Assert.AreEqual ("<?xml version=\"1.0\" encoding=\"utf-16\"?>", doc2.DataSet.GetXmlSchema ().Substring (0, 39), "#I02");
                        
                        doc2 = (XmlDataDocument)doc.CloneNode (true);
                        
-                       AssertEquals ("#I03", 2, doc2.ChildNodes.Count);
-                       AssertEquals ("#I04", "<?xml version=\"1.0\" encoding=\"utf-16\"?>", doc2.DataSet.GetXmlSchema ().Substring (0, 39));
+                       Assert.AreEqual (2, doc2.ChildNodes.Count, "#I03");
+                       Assert.AreEqual ("<?xml version=\"1.0\" encoding=\"utf-16\"?>", doc2.DataSet.GetXmlSchema ().Substring (0, 39), "#I04");
                        
                        doc.DataSet.Tables [0].Rows [0][0] = "64";
               
-                       AssertEquals ("#I05", "1", doc2.DataSet.Tables [0].Rows [0][0].ToString ());
+                       Assert.AreEqual ("1", doc2.DataSet.Tables [0].Rows [0][0].ToString (), "#I05");
                 }
 
                [Test]
                public void EditingXmlTree ()
                {       
                        XmlDataDocument doc = new XmlDataDocument ();
-                       doc.DataSet.ReadXmlSchema ("System.Xml/region.xsd");
-                       doc.Load ("System.Xml/region.xml");
+                       doc.DataSet.ReadXmlSchema ("Test/System.Xml/region.xsd");
+                       doc.Load ("Test/System.Xml/region.xml");
 
                        XmlElement Element = doc.GetElementFromRow (doc.DataSet.Tables [0].Rows [1]);
                        Element.FirstChild.InnerText = "64";
-                       AssertEquals ("test#01", "64", doc.DataSet.Tables [0].Rows [1] [0]);
+                       Assert.AreEqual ("64", doc.DataSet.Tables [0].Rows [1] [0], "test#01");
                        
                        DataSet Set = new DataSet ();
-                       Set.ReadXml ("System.Xml/region.xml");
+                       Set.ReadXml ("Test/System.Xml/region.xml");
                        doc = new XmlDataDocument (Set);
                        
                        Element = doc.GetElementFromRow (doc.DataSet.Tables [0].Rows [1]);
+                       Assert.IsNotNull (Element);
                        
                        try {
                                Element.FirstChild.InnerText = "64";
-                               Fail ("test#02");
-                       } catch (Exception e) {
-                               AssertEquals ("test#03", typeof (InvalidOperationException), e.GetType ());
-                               AssertEquals ("test#04", "Please set DataSet.EnforceConstraints == false before trying to edit XmlDataDocument using XML operations.", e.Message);
+                               Assert.Fail ("test#02");
+                       } catch (InvalidOperationException) {
                        }
                        
-                       AssertEquals ("test#05", "2", doc.DataSet.Tables [0].Rows [1] [0]);
+                       Assert.AreEqual ("2", doc.DataSet.Tables [0].Rows [1] [0], "test#05");
                        
                        Set.EnforceConstraints = false;
                        Element.FirstChild.InnerText = "64";
-                       AssertEquals ("test#06", "64", doc.DataSet.Tables [0].Rows [1] [0]);                    
-
+                       Assert.AreEqual ("64", doc.DataSet.Tables [0].Rows [1] [0], "test#06");
                }
                
                [Test]
                public void EditingDataSet ()
                {
-                       XmlReader Reader = new XmlTextReader ("System.Xml/region.xml");
+                       string xml = "<Root><Region><RegionID>1</RegionID><RegionDescription>Eastern\r\n   </RegionDescription></Region><Region><RegionID>2</RegionID><RegionDescription>Western\r\n   </RegionDescription></Region><Region><RegionID>3</RegionID><RegionDescription>Northern\r\n   </RegionDescription></Region><Region><RegionID>4</RegionID><RegionDescription>Southern\r\n   </RegionDescription></Region><MoreData><Column1>12</Column1><Column2>Hi There</Column2></MoreData><MoreData><Column1>12</Column1><Column2>Hi There</Column2></MoreData></Root>";
+
+                       XmlReader Reader = new XmlTextReader ("Test/System.Xml/region.xml");
                        XmlDataDocument Doc = new XmlDataDocument ();
                        Doc.DataSet.ReadXml (Reader);
-                       AssertEquals ("test#01", "Interactive", Reader.ReadState.ToString ());
+                       StringWriter sw = new StringWriter ();
+                       XmlTextWriter xw = new XmlTextWriter (sw);
+                       Doc.DataSet.WriteXml (xw);
+                       string s = sw.ToString ();
+                       Assert.AreEqual (xml, s, "#1");
+                       Assert.AreEqual (xml, Doc.InnerXml, "#2");
+                       Assert.AreEqual ("EndOfFile", Reader.ReadState.ToString (), "test#01");
 
                        DataSet Set = Doc.DataSet;
+                       Assert.AreEqual ("2", Set.Tables [0].Rows [1] [0], "test#01.5");
                        Set.Tables [0].Rows [1] [0] = "64";
-                       AssertEquals ("test#02", "64", Doc.FirstChild.FirstChild.NextSibling.FirstChild.InnerText);
+                       Assert.AreEqual ("64", Doc.FirstChild.FirstChild.NextSibling.FirstChild.InnerText, "test#02");
                }
                
                [Test]
                public void CreateElement1 ()
                {
                        XmlDataDocument doc = new XmlDataDocument ();
-                       doc.DataSet.ReadXmlSchema ("System.Xml/region.xsd");
-                       doc.Load ("System.Xml/region.xml");
+                       doc.DataSet.ReadXmlSchema ("Test/System.Xml/region.xsd");
+                       doc.Load ("Test/System.Xml/region.xml");
                        
-                       XmlElement Element = doc.CreateElement ("prefix", "localname", "namespaceURI");                         
-                       AssertEquals ("test#01", "prefix", Element.Prefix);
-                       AssertEquals ("test#02", "localname", Element.LocalName);
-                       AssertEquals ("test#03", "namespaceURI", Element.NamespaceURI);
+                       XmlElement Element = doc.CreateElement ("prefix", "localname", "namespaceURI");
+                       Assert.AreEqual ("prefix", Element.Prefix, "test#01");
+                       Assert.AreEqual ("localname", Element.LocalName, "test#02");
+                       Assert.AreEqual ("namespaceURI", Element.NamespaceURI, "test#03");
                        doc.ImportNode (Element, false);
                        
-                        TextWriter text = new StringWriter ();
+                       TextWriter text = new StringWriter ();
+                       doc.Save(text);
 
-                        doc.Save(text);
-
-                       string substring = "";
+                       string substring = string.Empty;
                        string TextString = text.ToString ();
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        //AssertEquals ("test#04", "<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?>", substring);
-                       
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("test#05", "<Root>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf("\n"));
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("test#06", "  <Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf("\n"));
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
+                       Assert.IsTrue (substring.IndexOf ("<Root>") != -1, "test#05");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("test#07", "    <RegionID>1</RegionID>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf("\n"));
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
+                       Assert.IsTrue (substring.IndexOf ("  <Region>") != -1, "test#06");
+
+                       substring = TextString.Substring (0, TextString.IndexOf("\n"));
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionID>1</RegionID>") != -1, "test#07");
 
                        for (int i = 0; i < 26; i++) {
-                               substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                               TextString = TextString.Substring (TextString.IndexOf("\n") + 1);                               
+                               substring = TextString.Substring (0, TextString.IndexOf("\n"));
+                               TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
                        }
-                       
-                        substring = TextString.Substring (0, TextString.Length);                        
-                        AssertEquals ("test#07", "</Root>", substring);                        
+
+                       substring = TextString.Substring (0, TextString.Length);
+                       Assert.IsTrue (substring.IndexOf ("</Root>") != -1, "test#08");
                }
-       
+
                [Test]
                public void CreateElement2 ()
                {
                        XmlDataDocument doc = new XmlDataDocument ();
-                       doc.DataSet.ReadXmlSchema ("System.Xml/region.xsd");
-                       doc.Load ("System.Xml/region.xml");
-                       
-                       XmlElement Element = doc.CreateElement ("ElementName");                         
-                       AssertEquals ("test#01", "", Element.Prefix);
-                       AssertEquals ("test#02", "ElementName", Element.LocalName);
-                       AssertEquals ("test#03", "", Element.NamespaceURI);
-                       
+                       doc.DataSet.ReadXmlSchema ("Test/System.Xml/region.xsd");
+                       doc.Load ("Test/System.Xml/region.xml");
+
+                       XmlElement Element = doc.CreateElement ("ElementName");
+                       Assert.AreEqual (string.Empty, Element.Prefix, "test#01");
+                       Assert.AreEqual ("ElementName", Element.LocalName, "test#02");
+                       Assert.AreEqual (string.Empty, Element.NamespaceURI, "test#03");
+
                        Element = doc.CreateElement ("prefix:ElementName");
-                       AssertEquals ("test#04", "prefix", Element.Prefix);
-                       AssertEquals ("test#05", "ElementName", Element.LocalName);
-                       AssertEquals ("test#06", "", Element.NamespaceURI);
+                       Assert.AreEqual ("prefix", Element.Prefix, "test#04");
+                       Assert.AreEqual ("ElementName", Element.LocalName, "test#05");
+                       Assert.AreEqual (string.Empty, Element.NamespaceURI, "test#06");
                }
 
                [Test]
                public void CreateElement3 ()
                {
                        XmlDataDocument doc = new XmlDataDocument ();
-                       doc.DataSet.ReadXmlSchema ("System.Xml/region.xsd");
-                       doc.Load ("System.Xml/region.xml");
+                       doc.DataSet.ReadXmlSchema ("Test/System.Xml/region.xsd");
+                       doc.Load ("Test/System.Xml/region.xml");
                        
-                       XmlElement Element = doc.CreateElement ("ElementName", "namespace");                    
-                       AssertEquals ("test#01", "", Element.Prefix);
-                       AssertEquals ("test#02", "ElementName", Element.LocalName);
-                       AssertEquals ("test#03", "namespace", Element.NamespaceURI);
+                       XmlElement Element = doc.CreateElement ("ElementName", "namespace");
+                       Assert.AreEqual (string.Empty, Element.Prefix, "test#01");
+                       Assert.AreEqual ("ElementName", Element.LocalName, "test#02");
+                       Assert.AreEqual ("namespace", Element.NamespaceURI, "test#03");
                        
                        Element = doc.CreateElement ("prefix:ElementName", "namespace");
-                       AssertEquals ("test#04", "prefix", Element.Prefix);
-                       AssertEquals ("test#05", "ElementName", Element.LocalName);
-                       AssertEquals ("test#06", "namespace", Element.NamespaceURI);
+                       Assert.AreEqual ("prefix", Element.Prefix, "test#04");
+                       Assert.AreEqual ("ElementName", Element.LocalName, "test#05");
+                       Assert.AreEqual ("namespace", Element.NamespaceURI, "test#06");
                }
-               
+
                [Test]
                public void Navigator ()
-               {       
+               {
                        XmlDataDocument doc = new XmlDataDocument ();
-                       doc.DataSet.ReadXmlSchema ("System.Xml/region.xsd");
-                       doc.Load ("System.Xml/region.xml");
+                       doc.DataSet.ReadXmlSchema ("Test/System.Xml/region.xsd");
+                       doc.Load ("Test/System.Xml/region.xml");
 
                        XPathNavigator Nav = doc.CreateNavigator ();
                        
                        Nav.MoveToRoot ();
                        Nav.MoveToFirstChild ();
 
-                       AssertEquals ("test#01", "Root", Nav.Name.ToString ());
-                       AssertEquals ("test#02", "", Nav.NamespaceURI.ToString ());
-                       AssertEquals ("test#03", "False", Nav.IsEmptyElement.ToString ());
-                       AssertEquals ("test#04", "Element", Nav.NodeType.ToString ());
-                       AssertEquals ("test#05", "", Nav.Prefix);
+                       Assert.AreEqual ("Root", Nav.Name.ToString (), "test#01");
+                       Assert.AreEqual (string.Empty, Nav.NamespaceURI.ToString (), "test#02");
+                       Assert.AreEqual ("False", Nav.IsEmptyElement.ToString (), "test#03");
+                       Assert.AreEqual ("Element", Nav.NodeType.ToString (), "test#04");
+                       Assert.AreEqual (string.Empty, Nav.Prefix, "test#05");
                        
                        Nav.MoveToFirstChild ();
                        Nav.MoveToNext ();
-                       AssertEquals ("test#06", "Region", Nav.Name.ToString ());
+                       Assert.AreEqual ("Region", Nav.Name.ToString (), "test#06");
                        
-                       AssertEquals ("test#07", "2Western", Nav.Value.Substring(0, Nav.Value.IndexOf ("\n") - 1));
+                       Assert.AreEqual ("2Western", Nav.Value.Substring(0, Nav.Value.IndexOf ("\n") - 1), "test#07");
                        Nav.MoveToFirstChild ();
-                       AssertEquals ("test#08", "2", Nav.Value);
+                       Assert.AreEqual ("2", Nav.Value, "test#08");
                        Nav.MoveToRoot ();
-                       AssertEquals ("test#09", "Root", Nav.NodeType.ToString ());
-                       
+                       Assert.AreEqual ("Root", Nav.NodeType.ToString (), "test#09");
                }
 
-                // Test constructor
+               // Test constructor
                [Test]
-                public void Test1()
-                {
-
-                             //Create an XmlDataDocument.
-                        XmlDataDocument doc = new XmlDataDocument();
+               public void Test1()
+               {
+                       //Create an XmlDataDocument.
+                       XmlDataDocument doc = new XmlDataDocument();
 
-                        //Load the schema file.
-                        doc.DataSet.ReadXmlSchema("System.Xml/store.xsd"); 
-                       Console.WriteLine ("books: " + doc.DataSet.Tables.Count);
-                        //Load the XML data.
-                        doc.Load("System.Xml/2books.xml");
+                       //Load the schema file.
+                       doc.DataSet.ReadXmlSchema("Test/System.Xml/store.xsd"); 
+                       //Load the XML data.
+                       doc.Load("Test/System.Xml/2books.xml");
                        
-                        //Update the price on the first book using the DataSet methods.
-                        DataTable books = doc.DataSet.Tables["book"];
-                       Console.WriteLine ("books: " + doc.DataSet.Tables [0].TableName);
-                        books.Rows[0]["price"] = "12,95";  
+                       //Update the price on the first book using the DataSet methods.
+                       DataTable books = doc.DataSet.Tables["book"];
+                       books.Rows[0]["price"] = "12.95";
                        
-                        //string outstring = "";
-                        TextWriter text = new StringWriter ();
-                        doc.Save(text);
+                       //string outstring = "";
+                       TextWriter text = new StringWriter ();
+                       text.NewLine = "\n";
+                       doc.Save(text);
 
-                        //str.Read (bytes, 0, (int)str.Length);
-                        //String OutString = new String (bytes);
-                       
-                        string TextString = text.ToString ();
-                        string substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#A01", "<?xml version=\"1.0\" encoding=\"utf-16\"?>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#A02", "<!--sample XML fragment-->", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#A03", "<bookstore>", substring);
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#A04", "  <book genre=\"novel\" ISBN=\"10-861003-324\">", substring);
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#A05", "    <title>The Handmaid's Tale</title>", substring);
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#A06", "    <price>12.95</price>", substring);
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#A07", "  </book>", substring);
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#A08", "  <book genre=\"novel\" ISBN=\"1-861001-57-5\">", substring);
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#A09", "    <title>Pride And Prejudice</title>", substring);
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#A10", "    <price>24.95</price>", substring);
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#A11", "  </book>", substring);
-                        substring = TextString;
-                        AssertEquals ("#A12", "</bookstore>", substring);
-                       
-                }
+                       //str.Read (bytes, 0, (int)str.Length);
+                       //String OutString = new String (bytes);
 
-                // Test public fields
+                       string TextString = text.ToString ();
+                       string substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("<?xml version=\"1.0\" encoding=\"utf-16\"?>") == 0, "#A01");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("<!--sample XML fragment-->") != -1, "#A02");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("<bookstore>") != -1, "#A03");
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <book genre=\"novel\" ISBN=\"10-861003-324\">") != -1, "#A04");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <title>The Handmaid's Tale</title>") != -1, "#A05");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.AreEqual ("    <price>12.95</price>", substring, "#A06");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </book>") != -1, "#A07");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <book genre=\"novel\" ISBN=\"1-861001-57-5\">") != -1, "#A08");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <title>Pride And Prejudice</title>") != -1, "#A09");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <price>24.95</price>") != -1, "#A10");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </book>") != -1, "#A11");
+
+                       substring = TextString;
+                       Assert.IsTrue (substring.IndexOf ("</bookstore>") != -1, "#A12");
+               }
+
+               // Test public fields
                [Test]
-                public void Test2()
-                {
-                        DataSet RegionDS = new DataSet ();
-                        DataRow RegionRow;
-                        RegionDS.ReadXmlSchema ("System.Xml/region.xsd");
-                        XmlDataDocument DataDoc = new XmlDataDocument (RegionDS);
-                        DataDoc.Load("System.Xml/region.xml" );
+               public void Test2()
+               {
+                       DataSet RegionDS = new DataSet ();
+                       DataRow RegionRow;
+                       RegionDS.ReadXmlSchema ("Test/System.Xml/region.xsd");
+                       Assert.AreEqual (1, RegionDS.Tables.Count, "Was read correct?");
+                       XmlDataDocument DataDoc = new XmlDataDocument (RegionDS);
+                       DataDoc.Load("Test/System.Xml/region.xml" );
 
+                       RegionRow = RegionDS.Tables[0].Rows[0];
 
-                        RegionRow = RegionDS.Tables[0].Rows[0];
-                       
-                        RegionDS.AcceptChanges ();
-                       Console.WriteLine ("***");
-                        RegionRow["RegionDescription"] = "Reeeeeaalllly Far East!";
-                       
-                        RegionDS.AcceptChanges ();
-                       
-                        TextWriter text = new StringWriter ();
+                       RegionDS.AcceptChanges ();
+                       RegionRow["RegionDescription"] = "Reeeeeaalllly Far East!";
+                       RegionDS.AcceptChanges ();
 
-                        DataDoc.Save (text);
-                        string TextString = text.ToString ();
-                        string substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        
-                       //AssertEquals ("#B01", "<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?>", substring);
+                       TextWriter text = new StringWriter ();
+                       text.NewLine = "\n";
+                       DataDoc.Save (text);
+                       string TextString = text.ToString ();
+                       string substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B02", "<Root>", substring);
+                       //Assert.AreEqual ("<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?>", substring, "#B01");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B03", "  <Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.AreEqual ("<Root>", substring, "#B02");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B04", "    <RegionID>1</RegionID>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B05", "    <RegionDescription>Reeeeeaalllly Far East!</RegionDescription>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B06", "  </Region>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B07", "  <Region>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B08", "    <RegionID>2</RegionID>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B09", "    <RegionDescription>Western", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B10", "   </RegionDescription>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B11", "  </Region>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B12", "  <Region>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B13", "    <RegionID>3</RegionID>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B14", "    <RegionDescription>Northern", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B15", "   </RegionDescription>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B16", "  </Region>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B17", "  <Region>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B18", "    <RegionID>4</RegionID>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B19", "    <RegionDescription>Southern", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B20", "   </RegionDescription>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B21", "  </Region>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B22", "  <MoreData>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B23", "    <Column1>12</Column1>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B24", "    <Column2>Hi There</Column2>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B25", "  </MoreData>", substring);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B26", "  <MoreData>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <Region>") != -1, "#B03");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B27", "    <Column1>12</Column1>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionID>1</RegionID>") != -1, "#B04");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B28", "    <Column2>Hi There</Column2>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.AreEqual ("    <RegionDescription>Reeeeeaalllly Far East!</RegionDescription>", substring, "#B05");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#B29", "  </MoreData>", substring);
-                }
-                
-               [Test]
-                public void Test3()
-                {
-                       XmlDataDocument DataDoc = new XmlDataDocument ();
-                       DataSet dataset = DataDoc.DataSet;
-                       dataset.ReadXmlSchema ("System.Xml/region.xsd");
-                        DataDoc.Load("System.Xml/region.xml" );
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </Region>") != -1, "#B06");
 
-                       DataDoc.GetElementsByTagName ("Region") [0].RemoveAll ();
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <Region>") != -1, "#B07");
 
-                        TextWriter text = new StringWriter ();
-                       dataset.WriteXml (text);
-                        //DataDoc.Save (text);
-                        string TextString = text.ToString ();
-                        string substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionID>2</RegionID>") != -1, "#B08");
 
-                        AssertEquals ("#C01", "<Root>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionDescription>Western") != -1, "#B09");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C02", "  <Region />", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("   </RegionDescription>") != -1, "#B10");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C03", "  <Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </Region>") != -1, "#B11");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C04", "    <RegionID>2</RegionID>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <Region>") != -1, "#B12");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n")- 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C05", "    <RegionDescription>Western", substring);
-                        
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C06", "   </RegionDescription>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionID>3</RegionID>") != -1, "#B13");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C07", "  </Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionDescription>Northern") != -1, "#B14");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C08", "  <Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("   </RegionDescription>") != -1, "#B15");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C09", "    <RegionID>3</RegionID>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </Region>") != -1, "#B16");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C10", "    <RegionDescription>Northern", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <Region>") != -1, "#B17");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C11", "   </RegionDescription>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionID>4</RegionID>") != -1, "#B18");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C12", "  </Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionDescription>Southern") != -1, "#B19");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C13", "  <Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("   </RegionDescription>") != -1, "#B20");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C14", "    <RegionID>4</RegionID>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </Region>") != -1, "#B21");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C15", "    <RegionDescription>Southern", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <MoreData>") != -1, "#B22");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C16", "   </RegionDescription>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <Column1>12</Column1>") != -1, "#B23");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#C17", "  </Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <Column2>Hi There</Column2>") != -1, "#B24");
 
-                        substring = TextString.Substring (0, TextString.Length);
-                        AssertEquals ("#C18", "</Root>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </MoreData>") != -1, "#B25");
 
-                }
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <MoreData>") != -1, "#B26");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <Column1>12</Column1>") != -1, "#B27");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <Column2>Hi There</Column2>") != -1, "#B28");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </MoreData>") != -1, "#B29");
+               }
 
                [Test]
-               public void Test()
+               public void Test3()
                {
-                        DataSet RegionDS = new DataSet ();
-                       
-                        RegionDS.ReadXmlSchema ("System.Xml/region.xsd");
-                        XmlDataDocument DataDoc = new XmlDataDocument (RegionDS);
-                        DataDoc.Load("System.Xml/region.xml" );
-                       DataTable table = DataDoc.DataSet.Tables ["Region"];
-                       DataRow newRow = table.NewRow ();
-                       newRow [0] = "new row";
-                       newRow [1] = "new description";
-                       
-                       table.Rows.Add (newRow);                        
-                       
-                        TextWriter text = new StringWriter ();
+                       XmlDataDocument DataDoc = new XmlDataDocument ();
+                       DataSet dataset = DataDoc.DataSet;
+                       dataset.ReadXmlSchema ("Test/System.Xml/region.xsd");
+                       DataDoc.Load("Test/System.Xml/region.xml" );
 
-                        DataDoc.Save (text);
-                        string TextString = text.ToString ();
-                        string substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
+                       DataDoc.GetElementsByTagName ("Region") [0].RemoveAll ();
 
-                        //AssertEquals ("#F01", "<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?>", substring);
+                       TextWriter text = new StringWriter ();
+                       text.NewLine = "\n";
+                       dataset.WriteXml (text);
+                       //DataDoc.Save (text);
+                       string TextString = text.ToString ();
+                       string substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F02", "<Root>", substring);
+                       Assert.IsTrue (substring.IndexOf ("<Root>") != -1, "#C01");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F03", "  <Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.AreEqual ("  <Region />", substring, "#C02");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F04", "    <RegionID>1</RegionID>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.AreEqual ("  <Region>", substring, "#C03");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F05", "    <RegionDescription>Eastern", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.AreEqual ("    <RegionID>2</RegionID>", substring, "#C04");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F06", "   </RegionDescription>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       // Regardless of NewLine value, original xml contains CR
+                       // (but in the context of XML spec, it should be normalized)
+                       Assert.AreEqual ("    <RegionDescription>Western\r", substring, "#C05");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F07", "  </Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("   </RegionDescription>") != -1, "#C06");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F08", "  <Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.AreEqual ("  </Region>", substring, "#C07");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F09", "    <RegionID>2</RegionID>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <Region>") != -1, "#C08");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F10", "    <RegionDescription>Western", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionID>3</RegionID>") != -1, "#C09");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F11", "   </RegionDescription>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       // Regardless of NewLine value, original xml contains CR
+                       // (but in the context of XML spec, it should be normalized)
+                       Assert.AreEqual ("    <RegionDescription>Northern\r", substring, "#C10");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F12", "  </Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("   </RegionDescription>") != -1, "#C11");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F13", "  <Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </Region>") != -1, "#C12");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F14", "    <RegionID>3</RegionID>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <Region>") != -1, "#C13");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F15", "    <RegionDescription>Northern", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionID>4</RegionID>") != -1, "#C14");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F16", "   </RegionDescription>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionDescription>Southern") != -1, "#C15");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F17", "  </Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("   </RegionDescription>") != -1, "#C16");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F18", "  <Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </Region>") != -1, "#C17");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F19", "    <RegionID>4</RegionID>", substring);
+                       substring = TextString.Substring (0, TextString.Length);
+                       Assert.IsTrue (substring.IndexOf ("</Root>") != -1, "#C18");
+               }
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F20", "    <RegionDescription>Southern", substring);
+               [Test]
+               public void Test4 ()
+               {
+                       DataSet RegionDS = new DataSet ();
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F21", "   </RegionDescription>", substring);
+                       RegionDS.ReadXmlSchema ("Test/System.Xml/region.xsd");
+                       XmlDataDocument DataDoc = new XmlDataDocument (RegionDS);
+                       DataDoc.Load ("Test/System.Xml/region.xml");
+                       Assert.IsTrue (RegionDS.EnforceConstraints);
+                       DataTable table = DataDoc.DataSet.Tables ["Region"];
+                       DataRow newRow = table.NewRow ();
+                       newRow [0] = "new row";
+                       newRow [1] = "new description";
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F22", "  </Region>", substring);
+                       table.Rows.Add (newRow);
+
+                       TextWriter text = new StringWriter ();
+                       text.NewLine = "\n";
+                       DataDoc.Save (text);
+                       string TextString = text.ToString ();
+                       string substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F23", "  <MoreData>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("<Root>") != -1, "#F02");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F24", "    <Column1>12</Column1>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <Region>") != -1, "#F03");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F25", "    <Column2>Hi There</Column2>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionID>1</RegionID>") != -1, "#F04");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F26", "  </MoreData>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       // Regardless of NewLine value, original xml contains CR
+                       // (but in the context of XML spec, it should be normalized)
+                       Assert.AreEqual ("    <RegionDescription>Eastern\r", substring, "#F05");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.AreEqual ("   </RegionDescription>", substring, "#F06");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </Region>") != -1, "#F07");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <Region>") != -1, "#F08");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionID>2</RegionID>") != -1, "#F09");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionDescription>Western") != -1, "#F10");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("   </RegionDescription>") != -1, "#F11");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </Region>") != -1, "#F12");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <Region>") != -1, "#F13");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionID>3</RegionID>") != -1, "#F14");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionDescription>Northern") != -1, "#F15");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("   </RegionDescription>") != -1, "#F16");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </Region>") != -1, "#F17");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <Region>") != -1, "#F18");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionID>4</RegionID>") != -1, "#F19");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       // Regardless of NewLine value, original xml contains CR
+                       // (but in the context of XML spec, it should be normalized)
+                       Assert.AreEqual ("    <RegionDescription>Southern\r", substring, "#F20");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("   </RegionDescription>") != -1, "#F21");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </Region>") != -1, "#F22");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <MoreData>") != -1, "#F23");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <Column1>12</Column1>") != -1, "#F24");
+
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <Column2>Hi There</Column2>") != -1, "#F25");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F27", "  <MoreData>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </MoreData>") != -1, "#F26");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F28", "    <Column1>12</Column1>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <MoreData>") != -1, "#F27");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F29", "    <Column2>Hi There</Column2>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <Column1>12</Column1>") != -1, "#F28");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F30", "  </MoreData>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <Column2>Hi There</Column2>") != -1, "#F29");
 
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </MoreData>") != -1, "#F30");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F31", "  <Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  <Region>") != -1, "#F31");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F32", "    <RegionID>new row</RegionID>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionID>new row</RegionID>") != -1, "#F32");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F33", "    <RegionDescription>new description</RegionDescription>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionDescription>new description</RegionDescription>") != -1, "#F33");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#F34", "  </Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf(EOL));
+                       TextString = TextString.Substring (TextString.IndexOf(EOL) + EOL.Length);
+                       Assert.IsTrue (substring.IndexOf ("  </Region>") != -1, "#F34");
 
-                        substring = TextString.Substring (0, TextString.Length);
-                        AssertEquals ("#F35", "</Root>", substring);
+                       substring = TextString.Substring (0, TextString.Length);
+                       Assert.IsTrue (substring.IndexOf ("</Root>") != -1, "#F35");
                }
 
-               [Test]          
+               [Test]
                public void Test5 ()
                {
-                        DataSet RegionDS = new DataSet ();
-                       
-                        RegionDS.ReadXmlSchema ("System.Xml/region.xsd");
-                        XmlDataDocument DataDoc = new XmlDataDocument (RegionDS);
-                        DataDoc.Load("System.Xml/region.xml" );
+                       DataSet RegionDS = new DataSet ();
+
+                       RegionDS.ReadXmlSchema ("Test/System.Xml/region.xsd");
+                       XmlDataDocument DataDoc = new XmlDataDocument (RegionDS);
+                       DataDoc.Load("Test/System.Xml/region.xml" );
                        try {
                                DataDoc.DocumentElement.AppendChild (DataDoc.DocumentElement.FirstChild);
-                               Fail ("#G01");
-                       } catch (Exception e) {
-                               AssertEquals ("#G02", typeof (InvalidOperationException), e.GetType ());
-                               AssertEquals ("#G03", "Please set DataSet.EnforceConstraints == false before trying to edit " +
-                                                     "XmlDataDocument using XML operations.", e.Message);
+                               Assert.Fail ("#G01");
+                       } catch (InvalidOperationException e) {
+                               Assert.AreEqual (typeof (InvalidOperationException), e.GetType (), "#G02");
+                               Assert.AreEqual ("Please set DataSet.EnforceConstraints == false before trying to edit " +
+                                                     "XmlDataDocument using XML operations.", e.Message, "#G03");
                                DataDoc.DataSet.EnforceConstraints = false;
                        }
                        XmlElement newNode = DataDoc.CreateElement ("Region");
@@ -692,131 +784,126 @@ namespace MonoTests.System.Data.Xml
                        newNode.AppendChild (newChildNode);
                        newNode.AppendChild (newChildNode2);
                        DataDoc.DocumentElement.AppendChild (newNode);
-                        TextWriter text = new StringWriter ();
+                       TextWriter text = new StringWriter ();
                        
-                        //DataDoc.Save (text);
+                       //DataDoc.Save (text);
                        DataDoc.DataSet.WriteXml(text);
-                        string TextString = text.ToString ();
-                        string substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
+                       string TextString = text.ToString ();
+                       string substring = TextString.Substring (0, TextString.IndexOf("\n"));
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
                        
                        for (int i = 0; i < 21; i++) {
                                substring = TextString.Substring (0, TextString.IndexOf("\n"));
                                TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
                        }
-                        AssertEquals ("#G04", "  <Region>", substring);
-                       
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#G05", "    <RegionID>64</RegionID>", substring);
-                       
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#G06", "    <RegionDescription>test node</RegionDescription>", substring);
-                       
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#G07", "  </Region>", substring);
-                       
-                        substring = TextString.Substring (0, TextString.Length);
-                        AssertEquals ("#G08", "</Root>", substring);
+                       Assert.IsTrue (substring.IndexOf ("  <Region>") != -1, "#G04");
 
+                       substring = TextString.Substring (0, TextString.IndexOf("\n"));
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionID>64</RegionID>") != -1, "#G05");
+
+                       substring = TextString.Substring (0, TextString.IndexOf("\n"));
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionDescription>test node</RegionDescription>") != -1, "#G06");
+
+                       substring = TextString.Substring (0, TextString.IndexOf("\n"));
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
+                       Assert.IsTrue (substring.IndexOf ("  </Region>") != -1, "#G07");
+
+                       substring = TextString.Substring (0, TextString.Length);
+                       Assert.IsTrue (substring.IndexOf ("</Root>") != -1, "#G08");
                }
-               
+
                [Test]
                public void Test6 ()
                {
                        DataSet RegionDS = new DataSet ();
-                       
-                       RegionDS.ReadXmlSchema ("System.Xml/region.xsd");
+
+                       RegionDS.ReadXmlSchema ("Test/System.Xml/region.xsd");
                        XmlDataDocument DataDoc = new XmlDataDocument (RegionDS);
-                       DataDoc.Load("System.Xml/region.xml" );
+                       DataDoc.Load("Test/System.Xml/region.xml" );
                        DataDoc.DataSet.EnforceConstraints = false;
-                       
+
                        XmlElement newNode = DataDoc.CreateElement ("Region");
                        XmlElement newChildNode = DataDoc.CreateElement ("RegionID");
-                       
+
                        newChildNode.InnerText = "64";
                        XmlElement newChildNode2 = null;
                        try {
                                newChildNode2 = DataDoc.CreateElement ("something else");
-                               Fail ("#H01");
-                       } catch (Exception e) {
-                               AssertEquals ("#H02", typeof (XmlException), e.GetType ());
-                               newChildNode2 = DataDoc.CreateElement ("something_else");
+                               Assert.Fail ("#H01");
+                       } catch (XmlException) {
                        }
-                       
+                       newChildNode2 = DataDoc.CreateElement ("something_else");
+
                        newChildNode2.InnerText = "test node";
-                       
+
                        newNode.AppendChild (newChildNode);
                        newNode.AppendChild (newChildNode2);
                        DataDoc.DocumentElement.AppendChild (newNode);
                        
-                        TextWriter text = new StringWriter ();
+                       TextWriter text = new StringWriter ();
                        
-                        //DataDoc.Save (text);
+                       //DataDoc.Save (text);
                        DataDoc.DataSet.WriteXml(text);
-                        string TextString = text.ToString ();
-                        string substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
+                       string TextString = text.ToString ();
+                       string substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
                        
                        for (int i = 0; i < 21; i++) {
                                substring = TextString.Substring (0, TextString.IndexOf("\n"));
                                TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
                        }
-                        
-                       AssertEquals ("#H03", "  <Region>", substring);
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#H04", "    <RegionID>64</RegionID>", substring);
+                       Assert.IsTrue (substring.IndexOf ("  <Region>") != -1, "#H03");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") );
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        AssertEquals ("#H05", "  </Region>", substring);
+                       substring = TextString.Substring (0, TextString.IndexOf("\n"));
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
+                       Assert.IsTrue (substring.IndexOf ("    <RegionID>64</RegionID>") != -1, "#H04");
 
-                        substring = TextString.Substring (0, TextString.Length);
-                        AssertEquals ("#H06", "</Root>", substring);
-                       
-                       
+                       substring = TextString.Substring (0, TextString.IndexOf("\n") );
+                       TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
+                       Assert.IsTrue (substring.IndexOf ("  </Region>") != -1, "#H05");
+
+                       substring = TextString.Substring (0, TextString.Length);
+                       Assert.IsTrue (substring.IndexOf ("</Root>") != -1, "#H06");
                }
 
                [Test]
-                public void GetElementFromRow ()
-                {
-                       XmlDataDocument doc = new XmlDataDocument ();
-                       doc.DataSet.ReadXmlSchema ("System.Xml/region.xsd");
-                       doc.Load ("System.Xml/region.xml");
-                       DataTable table = doc.DataSet.Tables ["Region"];
-                       
-                       XmlElement element = doc.GetElementFromRow (table.Rows [2]);
-                       AssertEquals ("#D01", "Region", element.Name);
-                       AssertEquals ("#D02", "3", element ["RegionID"].InnerText);
-                       
-                       try {
-                               element = doc.GetElementFromRow (table.Rows [4]);
-                               Fail ("#D03");
-                       } catch (Exception e) {
-                               AssertEquals ("#D04", typeof (IndexOutOfRangeException), e.GetType ());
-                               AssertEquals ("#D05", "There is no row at position 4.", e.Message);
-                       }
-                }
-                
+               public void GetElementFromRow ()
+               {
+                       XmlDataDocument doc = new XmlDataDocument ();
+                       doc.DataSet.ReadXmlSchema ("Test/System.Xml/region.xsd");
+                       doc.Load ("Test/System.Xml/region.xml");
+                       DataTable table = doc.DataSet.Tables ["Region"];
+
+                       XmlElement element = doc.GetElementFromRow (table.Rows [2]);
+                       Assert.AreEqual ("Region", element.Name, "#D01");
+                       Assert.AreEqual ("3", element ["RegionID"].InnerText, "#D02");
+
+                       try {
+                               element = doc.GetElementFromRow (table.Rows [4]);
+                               Assert.Fail ("#D03");
+                       } catch (IndexOutOfRangeException e) {
+                               Assert.AreEqual (typeof (IndexOutOfRangeException), e.GetType (), "#D04");
+                               Assert.AreEqual ("There is no row at position 4.", e.Message, "#D05");
+                       }
+               }
+
                [Test]
-                public void GetRowFromElement ()
-                {
-                       XmlDataDocument doc = new XmlDataDocument ();
-                       doc.DataSet.ReadXmlSchema ("System.Xml/region.xsd");
-                       doc.Load ("System.Xml/region.xml");
+               public void GetRowFromElement ()
+               {
+                       XmlDataDocument doc = new XmlDataDocument ();
+                       doc.DataSet.ReadXmlSchema ("Test/System.Xml/region.xsd");
+                       doc.Load ("Test/System.Xml/region.xml");
                        XmlElement root = doc.DocumentElement;
 
-                       DataRow row = doc.GetRowFromElement((XmlElement)root.FirstChild);
-                       
-                       AssertEquals ("#E01", "1", row [0]);
+                       DataRow row = doc.GetRowFromElement((XmlElement)root.FirstChild);
 
-                       row = doc.GetRowFromElement((XmlElement)root.ChildNodes [2]);
-                       AssertEquals ("#E02", "3", row [0]);
-                       
-                }
-        }
+                       Assert.AreEqual ("1", row [0], "#E01");
+
+                       row = doc.GetRowFromElement((XmlElement)root.ChildNodes [2]);
+                       Assert.AreEqual ("3", row [0], "#E02");
+               }
+       }
 }