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 62b80b3..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", "EndOfFile", 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);
-                       
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("test#05", substring.IndexOf ("<Root>") != -1);
+                       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);
+                       Assert.IsTrue (substring.IndexOf ("<Root>") != -1, "test#05");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("test#06", substring.IndexOf ("  <Region>") != -1);
+                       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 ("test#07", substring.IndexOf ("    <RegionID>1</RegionID>") != -1);
+                       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);                        
-                        Assert ("test#07", substring.IndexOf ("</Root>") != -1);                       
+
+                       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);                      
-                        Assert ("#A01", substring.IndexOf ("<?xml version=\"1.0\" encoding=\"utf-16\"?>") == 0);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#A02", substring.IndexOf ("<!--sample XML fragment-->") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#A03", substring.IndexOf ("<bookstore>") != -1);
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#A04", substring.IndexOf ("  <book genre=\"novel\" ISBN=\"10-861003-324\">") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#A05", substring.IndexOf ("    <title>The Handmaid's Tale</title>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#A06", substring.IndexOf ("    <price>12.95</price>") != -1);
-                       
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#A07", substring.IndexOf ("  </book>") != -1);
-                       
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#A08", substring.IndexOf ("  <book genre=\"novel\" ISBN=\"1-861001-57-5\">") != -1);
-                       
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#A09", substring.IndexOf ("    <title>Pride And Prejudice</title>") != -1);
-                        
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#A10", substring.IndexOf ("    <price>24.95</price>") != -1);
-                        
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#A11", substring.IndexOf ("  </book>") != -1);
-                        
-                        substring = TextString;
-                        Assert ("#A12", substring.IndexOf ("</bookstore>") != -1);
-                       
-                }
+                       //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 ();
-                        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);
-                        Assert ("#B02", substring.IndexOf ("<Root>") != -1);
+                       //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);
-                        Assert ("#B03", substring.IndexOf ("  <Region>") != -1);
+                       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);
-                        Assert ("#B04", substring.IndexOf ("    <RegionID>1</RegionID>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B05", substring.IndexOf ("    <RegionDescription>Reeeeeaalllly Far East!</RegionDescription>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B06", substring.IndexOf ("  </Region>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B07", substring.IndexOf ("  <Region>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B08", substring.IndexOf ("    <RegionID>2</RegionID>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B09", substring.IndexOf ("    <RegionDescription>Western") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B10", substring.IndexOf ("   </RegionDescription>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B11", substring.IndexOf ("  </Region>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B12", substring.IndexOf ("  <Region>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B13", substring.IndexOf ("    <RegionID>3</RegionID>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B14", substring.IndexOf ("    <RegionDescription>Northern") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B15", substring.IndexOf ("   </RegionDescription>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B16", substring.IndexOf ("  </Region>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B17", substring.IndexOf ("  <Region>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B18", substring.IndexOf ("    <RegionID>4</RegionID>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B19", substring.IndexOf ("    <RegionDescription>Southern") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B20", substring.IndexOf ("   </RegionDescription>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B21", substring.IndexOf ("  </Region>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B22", substring.IndexOf ("  <MoreData>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B23", substring.IndexOf ("    <Column1>12</Column1>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B24", substring.IndexOf ("    <Column2>Hi There</Column2>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B25", substring.IndexOf ("  </MoreData>") != -1);
-
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#B26", substring.IndexOf ("  <MoreData>") != -1);
+                       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);
-                        Assert ("#B27", substring.IndexOf ("    <Column1>12</Column1>") != -1);
+                       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);
-                        Assert ("#B28", substring.IndexOf ("    <Column2>Hi There</Column2>") != -1);
+                       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);
-                        Assert ("#B29", substring.IndexOf ("  </MoreData>") != -1);
-                }
-                
-               [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");
 
-                        Assert ("#C01", substring.IndexOf ("<Root>") != -1);
+                       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);
-                        Assert ("#C02", substring.IndexOf ("  <Region />") != -1);
+                       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);
-                        Assert ("#C03", substring.IndexOf ("  <Region>") != -1);
+                       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);
-                        Assert ("#C04", substring.IndexOf ("    <RegionID>2</RegionID>") != -1);
+                       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);
-                        Assert ("#C05", substring.IndexOf ("    <RegionDescription>Western") != -1);
-                        
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#C06", substring.IndexOf ("   </RegionDescription>") != -1);
+                       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);
-                        Assert ("#C07", substring.IndexOf ("  </Region>") != -1);
+                       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);
-                        Assert ("#C08", substring.IndexOf ("  <Region>") != -1);
+                       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);
-                        Assert ("#C09", substring.IndexOf ("    <RegionID>3</RegionID>") != -1);
+                       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);
-                        Assert ("#C10", substring.IndexOf ("    <RegionDescription>Northern") != -1);
+                       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);
-                        Assert ("#C11", substring.IndexOf ("   </RegionDescription>") != -1);
+                       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);
-                        Assert ("#C12", substring.IndexOf ("  </Region>") != -1);
+                       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);
-                        Assert ("#C13", substring.IndexOf ("  <Region>") != -1);
+                       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);
-                        Assert ("#C14", substring.IndexOf ("    <RegionID>4</RegionID>") != -1);
+                       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);
-                        Assert ("#C15", substring.IndexOf ("    <RegionDescription>Southern") != -1);
+                       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);
-                        Assert ("#C16", substring.IndexOf ("   </RegionDescription>") != -1);
+                       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);
-                        Assert ("#C17", substring.IndexOf ("  </Region>") != -1);
+                       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);
-                        Assert ("#C18", substring.IndexOf ("</Root>") != -1);
+                       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.GetElementsByTagName ("Region") [0].RemoveAll ();
+
+                       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);
+
+                       Assert.IsTrue (substring.IndexOf ("<Root>") != -1, "#C01");
 
-                        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.AreEqual ("  <Region />", substring, "#C02");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#F02", substring.IndexOf ("<Root>") != -1);
+                       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"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#F03", substring.IndexOf ("  <Region>") != -1);
+                       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);
-                        Assert ("#F04", substring.IndexOf ("    <RegionID>1</RegionID>") != -1);
+                       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") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#F05", substring.IndexOf ("    <RegionDescription>Eastern") != -1);
+                       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);
-                        Assert ("#F06", substring.IndexOf ("   </RegionDescription>") != -1);
+                       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);
-                        Assert ("#F07", substring.IndexOf ("  </Region>") != -1);
+                       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"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#F08", substring.IndexOf ("  <Region>") != -1);
+                       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);
-                        Assert ("#F09", substring.IndexOf ("    <RegionID>2</RegionID>") != -1);
+                       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") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#F10", substring.IndexOf ("    <RegionDescription>Western") != -1);
+                       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);
-                        Assert ("#F11", substring.IndexOf ("   </RegionDescription>") != -1);
+                       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);
-                        Assert ("#F12", substring.IndexOf ("  </Region>") != -1);
+                       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"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#F13", substring.IndexOf ("  <Region>") != -1);
+                       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);
-                        Assert ("#F14", substring.IndexOf ("    <RegionID>3</RegionID>") != -1);
+                       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") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#F15", substring.IndexOf ("    <RegionDescription>Northern") != -1);
+                       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);
-                        Assert ("#F16", substring.IndexOf ("   </RegionDescription>") != -1);
+                       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);
-                        Assert ("#F17", substring.IndexOf ("  </Region>") != -1);
+                       substring = TextString.Substring (0, TextString.Length);
+                       Assert.IsTrue (substring.IndexOf ("</Root>") != -1, "#C18");
+               }
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#F18", substring.IndexOf ("  <Region>") != -1);
+               [Test]
+               public void Test4 ()
+               {
+                       DataSet RegionDS = new DataSet ();
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#F19", substring.IndexOf ("    <RegionID>4</RegionID>") != -1);
+                       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") - 1);
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#F20", substring.IndexOf ("    <RegionDescription>Southern") != -1);
+                       table.Rows.Add (newRow);
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#F21", substring.IndexOf ("   </RegionDescription>") != -1);
+                       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);
-                        Assert ("#F22", substring.IndexOf ("  </Region>") != -1);
+                       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);
-                        Assert ("#F23", substring.IndexOf ("  <MoreData>") != -1);
+                       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);
-                        Assert ("#F24", substring.IndexOf ("    <Column1>12</Column1>") != -1);
+                       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);
-                        Assert ("#F25", substring.IndexOf ("    <Column2>Hi There</Column2>") != -1);
+                       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);
-                        Assert ("#F26", substring.IndexOf ("  </MoreData>") != -1);
+                       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);
-                        Assert ("#F27", substring.IndexOf ("  <MoreData>") != -1);
+                       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);
-                        Assert ("#F28", substring.IndexOf ("    <Column1>12</Column1>") != -1);
+                       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);
-                        Assert ("#F29", substring.IndexOf ("    <Column2>Hi There</Column2>") != -1);
+                       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("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#F30", substring.IndexOf ("  </MoreData>") != -1);
+                       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);
-                        Assert ("#F31", substring.IndexOf ("  <Region>") != -1);
+                       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);
-                        Assert ("#F32", substring.IndexOf ("    <RegionID>new row</RegionID>") != -1);
+                       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);
-                        Assert ("#F33", substring.IndexOf ("    <RegionDescription>new description</RegionDescription>") != -1);
+                       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);
-                        Assert ("#F34", substring.IndexOf ("  </Region>") != -1);
+                       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);
-                        Assert ("#F35", substring.IndexOf ("</Root>") != -1);
+                       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");
@@ -695,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);
                        }
-                        Assert ("#G04", substring.IndexOf ("  <Region>") != -1);
-                       
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#G05", substring.IndexOf ("    <RegionID>64</RegionID>") != -1);
-                       
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#G06", substring.IndexOf ("    <RegionDescription>test node</RegionDescription>") != -1);
-                       
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#G07", substring.IndexOf ("  </Region>") != -1);
-                       
-                        substring = TextString.Substring (0, TextString.Length);
-                        Assert ("#G08", substring.IndexOf ("</Root>") != -1);
+                       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);
                        }
-                        
-                       Assert ("#H03", substring.IndexOf ("  <Region>") != -1);
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n"));
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#H04", substring.IndexOf ("    <RegionID>64</RegionID>") != -1);
+                       Assert.IsTrue (substring.IndexOf ("  <Region>") != -1, "#H03");
 
-                        substring = TextString.Substring (0, TextString.IndexOf("\n") );
-                        TextString = TextString.Substring (TextString.IndexOf("\n") + 1);
-                        Assert ("#H05", substring.IndexOf ("  </Region>") != -1);
+                       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);
-                        Assert ("#H06", substring.IndexOf ("</Root>") != -1);
-                       
-                       
+                       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");
+               }
+       }
 }