Author: anagappan
Date: 2006-11-28 01:33:13 -0500 (Tue, 28 Nov 2006)
New Revision: 68564
Modified:
trunk/mcs/class/System.Data/Test/System.Data/ChangeLog
trunk/mcs/class/System.Data/Test/System.Data/DataRowCollectionTest.cs
trunk/mcs/class/System.Data/Test/System.Data/DataSetTest.cs
trunk/mcs/class/System.Data/Test/System.Data/DataTableTest.cs
Log:
2006-11-28 Nagappan A <[EMAIL PROTECTED]>
* DataTableTest.cs (TestWriteXmlSchema1): Modified the expected
output same as MS.NET 2.0 output.
(TestWriteXmlSchema2, TestWriteXmlSchema3): Modified the expected
output same as MS.NET 2.0 output.
(WriteXmlSchema, WriteXmlSchema2, WriteXmlSchema3): Updated the tests
to work. Removed NotWorking attribute.
(WriteXmlSchema4, WriteXmlSchema5, WriteXmlSchema6): Updated the tests
to work. Removed NotWorking attribute.
(WriteXmlSchema_Relations_ForeignKeys): Updated the tests to
work. Removed NotWorking attribute.
(ReadWriteXmlSchema_2, ReadWriteXmlSchemaExp_NoTableName): Updated
the tests to work. Removed NotWorking attribute.
(ReadWriteXmlSchemaExp_NoFileName): Added new tests.
* DataSetTest.cs: Updated the tests to work with 2.0
profile. Expected 2.0 and 1.0 outputs are different with respect
to XML Schema.
* DataRowCollectionTest.cs (IndexOf): API is implemented and so
removed NotWorking attribute.
(IndexOfTest): Added new test to test IndexOf API.
Modified: trunk/mcs/class/System.Data/Test/System.Data/ChangeLog
===================================================================
--- trunk/mcs/class/System.Data/Test/System.Data/ChangeLog 2006-11-28
06:32:38 UTC (rev 68563)
+++ trunk/mcs/class/System.Data/Test/System.Data/ChangeLog 2006-11-28
06:33:13 UTC (rev 68564)
@@ -1,3 +1,27 @@
+2006-11-28 Nagappan A <[EMAIL PROTECTED]>
+
+ * DataTableTest.cs (TestWriteXmlSchema1): Modified the expected
+ output same as MS.NET 2.0 output.
+ (TestWriteXmlSchema2, TestWriteXmlSchema3): Modified the expected
+ output same as MS.NET 2.0 output.
+ (WriteXmlSchema, WriteXmlSchema2, WriteXmlSchema3): Updated the tests
+ to work. Removed NotWorking attribute.
+ (WriteXmlSchema4, WriteXmlSchema5, WriteXmlSchema6): Updated the tests
+ to work. Removed NotWorking attribute.
+ (WriteXmlSchema_Relations_ForeignKeys): Updated the tests to
+ work. Removed NotWorking attribute.
+ (ReadWriteXmlSchema_2, ReadWriteXmlSchemaExp_NoTableName): Updated
+ the tests to work. Removed NotWorking attribute.
+ (ReadWriteXmlSchemaExp_NoFileName): Added new tests.
+
+ * DataSetTest.cs: Updated the tests to work with 2.0
+ profile. Expected 2.0 and 1.0 outputs are different with respect
+ to XML Schema.
+
+ * DataRowCollectionTest.cs (IndexOf): API is implemented and so
+ removed NotWorking attribute.
+ (IndexOfTest): Added new test to test IndexOf API.
+
2006-11-26 Gert Driesen <[EMAIL PROTECTED]>
* DataSetReadXmlTest.cs: Added NotWorking test for bug #80048.
Modified: trunk/mcs/class/System.Data/Test/System.Data/DataRowCollectionTest.cs
===================================================================
--- trunk/mcs/class/System.Data/Test/System.Data/DataRowCollectionTest.cs
2006-11-28 06:32:38 UTC (rev 68563)
+++ trunk/mcs/class/System.Data/Test/System.Data/DataRowCollectionTest.cs
2006-11-28 06:33:13 UTC (rev 68564)
@@ -750,8 +750,6 @@
#if NET_2_0
[Test]
- [Category ("NotWorking")]
- // IndexOf does not exist in System.Data and is commented-out
bellow
public void IndexOf () {
DataSet ds = new DataSet ();
@@ -782,12 +780,41 @@
DataRow dr5 = dt.NewRow ();
dr5[0] = "e";
- //int index = ds.Tables[0].Rows.IndexOf (dr3);
- //AssertEquals ("IndexOf-Yes", 2, index);
+ int index = ds.Tables[0].Rows.IndexOf (dr3);
+ AssertEquals ("IndexOf-Yes", 2, index);
- //index = ds.Tables[0].Rows.IndexOf (dr5);
- //AssertEquals ("IndexOf-No", -1, index);
+ index = ds.Tables[0].Rows.IndexOf (dr5);
+ AssertEquals ("IndexOf-No", -1, index);
}
+ [Test]
+ public void IndexOfTest()
+ {
+ DataTable dt = new DataTable("TestWriteXmlSchema");
+ dt.Columns.Add("Col1", typeof(int));
+ dt.Columns.Add("Col2", typeof(int));
+ DataRow dr = dt.NewRow();
+ dr[0] = 10;
+ dr[1] = 20;
+ dt.Rows.Add(dr);
+ DataRow dr1 = dt.NewRow();
+ dr1[0] = 10;
+ dr1[1] = 20;
+ dt.Rows.Add(dr1);
+ DataRow dr2 = dt.NewRow();
+ dr2[0] = 10;
+ dr2[1] = 20;
+ dt.Rows.Add(dr2);
+ NUnit.Framework.Assert.AreEqual (1, dt.Rows.IndexOf
(dr1));
+ DataTable dt1 = new DataTable("HelloWorld");
+ dt1.Columns.Add("T1", typeof(int));
+ dt1.Columns.Add("T2", typeof(int));
+ DataRow dr3 = dt1.NewRow();
+ dr3[0] = 10;
+ dr3[1] = 20;
+ dt1.Rows.Add(dr3);
+ NUnit.Framework.Assert.AreEqual (-1, dt.Rows.IndexOf
(dr3));
+ NUnit.Framework.Assert.AreEqual (-1, dt.Rows.IndexOf
(null));
+ }
#endif
}
}
Modified: trunk/mcs/class/System.Data/Test/System.Data/DataSetTest.cs
===================================================================
--- trunk/mcs/class/System.Data/Test/System.Data/DataSetTest.cs 2006-11-28
06:32:38 UTC (rev 68563)
+++ trunk/mcs/class/System.Data/Test/System.Data/DataSetTest.cs 2006-11-28
06:33:13 UTC (rev 68564)
@@ -221,7 +221,11 @@
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
// This is original DataSet.WriteXmlSchema() output
// AssertEquals ("test#03", " <xs:element
name=\"test_dataset\" msdata:IsDataSet=\"true\" msdata:Locale=\"fi-FI\">",
substring);
+#if !NET_2_0
AssertEquals ("test#03", " <xs:element
msdata:IsDataSet=\"true\" msdata:Locale=\"fi-FI\" name=\"test_dataset\">",
substring);
+#else
+ AssertEquals ("test#03", " <xs:element
msdata:IsDataSet=\"true\" msdata:UseCurrentLocale=\"true\"
name=\"test_dataset\">", substring);
+#endif
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
@@ -229,7 +233,7 @@
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
- AssertEquals ("test#05", " <xs:choice
maxOccurs=\"unbounded\">", substring);
+ AssertEquals ("test#05", " <xs:choice
maxOccurs=\"unbounded\" minOccurs=\"0\">", substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
@@ -573,7 +577,11 @@
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
// This is original DataSet.WriteXmlSchema() output
// AssertEquals ("test#03", " <xs:element name=\"Root\"
msdata:IsDataSet=\"true\" msdata:Locale=\"fi-FI\">", substring);
+#if !NET_2_0
AssertEquals ("test#03", " <xs:element
msdata:IsDataSet=\"true\" msdata:Locale=\"fi-FI\" name=\"Root\">", substring);
+#else
+ AssertEquals ("test#03", " <xs:element
msdata:IsDataSet=\"true\" msdata:UseCurrentLocale=\"true\" name=\"Root\">",
substring);
+#endif
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
@@ -581,7 +589,7 @@
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
- AssertEquals ("test#05", " <xs:choice
maxOccurs=\"unbounded\">", substring);
+ AssertEquals ("test#05", " <xs:choice
maxOccurs=\"unbounded\" minOccurs=\"0\">", substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
@@ -766,7 +774,7 @@
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
- AssertEquals ("test#25", " <xs:choice
maxOccurs=\"unbounded\">", substring);
+ AssertEquals ("test#25", " <xs:choice
maxOccurs=\"unbounded\" minOccurs=\"0\">", substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
@@ -921,7 +929,7 @@
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
- AssertEquals ("test#25", " <xs:choice
maxOccurs=\"unbounded\">", substring);
+ AssertEquals ("test#25", " <xs:choice
maxOccurs=\"unbounded\" minOccurs=\"0\">", substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
@@ -989,7 +997,7 @@
<xs:import namespace='urn:foo' schemaLocation='_app2.xsd' />
<xs:element name='NewDataSet' msdata:IsDataSet='true' msdata:Locale='fi-FI'>
<xs:complexType>
- <xs:choice maxOccurs='unbounded'>
+ <xs:choice minOccurs='0' maxOccurs='unbounded'>
<xs:element ref='app2:NS1Table' />
<xs:element name='NS2Table'>
<xs:complexType>
@@ -1044,7 +1052,13 @@
{
// see GetReady() for current culture
- string xml = "<?xml version='1.0'
encoding='utf-16'?><DataSet><xs:schema id='DS' xmlns=''
xmlns:xs='http://www.w3.org/2001/XMLSchema'
xmlns:msdata='urn:schemas-microsoft-com:xml-msdata'><xs:element name='DS'
msdata:IsDataSet='true' msdata:Locale='fi-FI'><xs:complexType><xs:choice
maxOccurs='unbounded'
/></xs:complexType></xs:element></xs:schema><diffgr:diffgram
xmlns:msdata='urn:schemas-microsoft-com:xml-msdata'
xmlns:diffgr='urn:schemas-microsoft-com:xml-diffgram-v1' /></DataSet>";
+ string xml = "<?xml version='1.0'
encoding='utf-16'?><DataSet><xs:schema id='DS' xmlns=''
xmlns:xs='http://www.w3.org/2001/XMLSchema'
xmlns:msdata='urn:schemas-microsoft-com:xml-msdata'><xs:element name='DS'
msdata:IsDataSet='true' " +
+#if !NET_2_0
+ "msdata:Locale='fi-FI'"
+#else
+ "msdata:UseCurrentLocale='true'"
+#endif
+ + "><xs:complexType><xs:choice minOccurs='0'
maxOccurs='unbounded'
/></xs:complexType></xs:element></xs:schema><diffgr:diffgram
xmlns:msdata='urn:schemas-microsoft-com:xml-msdata'
xmlns:diffgr='urn:schemas-microsoft-com:xml-diffgram-v1' /></DataSet>";
DataSet ds = new DataSet ();
ds.DataSetName = "DS";
XmlSerializer ser = new XmlSerializer (typeof
(DataSet));
@@ -1094,7 +1108,7 @@
// bug #68007
public void SerializeDataSet3 ()
{
- string xml = @"<?xml version=""1.0""
encoding=""utf-8""?><DataSet><xs:schema id=""Example"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""><xs:element
name=""Example"" msdata:IsDataSet=""true""><xs:complexType><xs:choice
maxOccurs=""unbounded""><xs:element
name=""Packages""><xs:complexType><xs:attribute name=""ID"" type=""xs:int""
use=""required"" /><xs:attribute name=""ShipDate"" type=""xs:dateTime""
/><xs:attribute name=""Message"" type=""xs:string"" /><xs:attribute
name=""Handlers"" type=""xs:int""
/></xs:complexType></xs:element></xs:choice></xs:complexType></xs:element></xs:schema><diffgr:diffgram
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""
xmlns:diffgr=""urn:schemas-microsoft-com:xml-diffgram-v1""><Example><Packages
diffgr:id=""Packages1"" msdata:rowOrder=""0"" ID=""0""
ShipDate=""2004-10-11T17:46:18.6962302-05:00"" Message=""Received with no
breakage!"" Handlers=""3"" /><Packages diffgr:id=""
Packages2"" msdata:rowOrder=""1"" ID=""1""
/></Example></diffgr:diffgram></DataSet>";
+ string xml = @"<?xml version=""1.0""
encoding=""utf-8""?><DataSet><xs:schema id=""Example"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""><xs:element
name=""Example"" msdata:IsDataSet=""true""><xs:complexType><xs:choice
maxOccurs=""unbounded"" minOccurs=""0""><xs:element
name=""Packages""><xs:complexType><xs:attribute name=""ID"" type=""xs:int""
use=""required"" /><xs:attribute name=""ShipDate"" type=""xs:dateTime""
/><xs:attribute name=""Message"" type=""xs:string"" /><xs:attribute
name=""Handlers"" type=""xs:int""
/></xs:complexType></xs:element></xs:choice></xs:complexType></xs:element></xs:schema><diffgr:diffgram
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""
xmlns:diffgr=""urn:schemas-microsoft-com:xml-diffgram-v1""><Example><Packages
diffgr:id=""Packages1"" msdata:rowOrder=""0"" ID=""0""
ShipDate=""2004-10-11T17:46:18.6962302-05:00"" Message=""Received with no
breakage!"" Handlers=""3"" /><Packa
ges diffgr:id=""Packages2"" msdata:rowOrder=""1"" ID=""1""
/></Example></diffgr:diffgram></DataSet>";
DataSet ds = new DataSet ("Example");
@@ -1490,9 +1504,15 @@
string xml = @"<myDataSet
xmlns='NetFrameWork'><myTable><id>0</id><item>item
0</item></myTable><myTable><id>1</id><item>item
1</item></myTable><myTable><id>2</id><item>item
2</item></myTable><myTable><id>3</id><item>item
3</item></myTable><myTable><id>4</id><item>item
4</item></myTable><myTable><id>5</id><item>item
5</item></myTable><myTable><id>6</id><item>item
6</item></myTable><myTable><id>7</id><item>item
7</item></myTable><myTable><id>8</id><item>item
8</item></myTable><myTable><id>9</id><item>item 9</item></myTable></myDataSet>";
string schema = @"<?xml version='1.0'
encoding='utf-16'?>
<xs:schema id='myDataSet' targetNamespace='NetFrameWork'
xmlns:mstns='NetFrameWork' xmlns='NetFrameWork'
xmlns:xs='http://www.w3.org/2001/XMLSchema'
xmlns:msdata='urn:schemas-microsoft-com:xml-msdata'
attributeFormDefault='qualified' elementFormDefault='qualified'>
- <xs:element name='myDataSet' msdata:IsDataSet='true' msdata:Locale='fi-FI'>
+ <xs:element name='myDataSet' msdata:IsDataSet='true' " +
+#if NET_2_0
+ "msdata:UseCurrentLocale='true'"
+#else
+ "msdata:Locale='fi-FI'"
+#endif
+ + @">
<xs:complexType>
- <xs:choice maxOccurs='unbounded'>
+ <xs:choice minOccurs='0' maxOccurs='unbounded'>
<xs:element name='myTable'>
<xs:complexType>
<xs:sequence>
@@ -1547,9 +1567,15 @@
{
string xmlschema = @"<?xml version=""1.0""
encoding=""utf-16""?>
<xs:schema id=""ExampleDataSet"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">
- <xs:element name=""ExampleDataSet"" msdata:IsDataSet=""true""
msdata:Locale=""fi-FI"">
+ <xs:element name=""ExampleDataSet"" msdata:IsDataSet=""true"" ";
+#if NET_2_0
+ xmlschema = xmlschema +
"msdata:UseCurrentLocale=\"true\"";
+#else
+ xmlschema = xmlschema + "msdata:Locale=\"fi-FI\"";
+#endif
+ xmlschema = xmlschema + @">
<xs:complexType>
- <xs:choice maxOccurs=""unbounded"">
+ <xs:choice minOccurs=""0"" maxOccurs=""unbounded"">
<xs:element name=""ExampleDataTable"">
<xs:complexType>
<xs:attribute name=""PrimaryKeyColumn"" type=""xs:int""
use=""required"" />
@@ -1590,9 +1616,15 @@
{
string xmlschema = @"<?xml version=""1.0""
encoding=""utf-16""?>
<xs:schema id=""Example"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">
- <xs:element name=""Example"" msdata:IsDataSet=""true""
msdata:Locale=""fi-FI"">
+";
+#if NET_2_0
+ xmlschema = xmlschema + " <xs:element name=\"Example\"
msdata:IsDataSet=\"true\" msdata:UseCurrentLocale=\"true\"";
+#else
+ xmlschema = xmlschema + " <xs:element name=\"Example\"
msdata:IsDataSet=\"true\" msdata:Locale=\"fi-FI\"";
+#endif
+ xmlschema = xmlschema + @">
<xs:complexType>
- <xs:choice maxOccurs=""unbounded"">
+ <xs:choice minOccurs=""0"" maxOccurs=""unbounded"">
<xs:element name=""MyType"">
<xs:complexType>
<xs:attribute name=""ID"" type=""xs:int"" use=""required"" />
@@ -1632,9 +1664,15 @@
{
string xmlschema = @"<?xml version=""1.0""
encoding=""utf-16""?>
<xs:schema id=""Example"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">
- <xs:element name=""Example"" msdata:IsDataSet=""true""
msdata:Locale=""fi-FI"">
+"+
+#if NET_2_0
+" <xs:element name=\"Example\" msdata:IsDataSet=\"true\"
msdata:UseCurrentLocale=\"true\""
+#else
+" <xs:element name=\"Example\" msdata:IsDataSet=\"true\"
msdata:Locale=\"fi-FI\""
+#endif
+ + @">
<xs:complexType>
- <xs:choice maxOccurs=""unbounded"">
+ <xs:choice minOccurs=""0"" maxOccurs=""unbounded"">
<xs:element name=""StandAlone"">
<xs:complexType>
<xs:attribute name=""ID"" type=""xs:int"" use=""required"" />
@@ -1740,9 +1778,15 @@
{
string xmlschema = @"<?xml version=""1.0""
encoding=""utf-16""?>
<xs:schema id=""Example"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">
- <xs:element name=""Example"" msdata:IsDataSet=""true""
msdata:Locale=""fi-FI"">
+"+
+#if NET_2_0
+ @" <xs:element name=""Example""
msdata:IsDataSet=""true"" msdata:UseCurrentLocale=""true"""
+#else
+ @" <xs:element name=""Example""
msdata:IsDataSet=""true"" msdata:Locale=""fi-FI"""
+#endif
+ + @">
<xs:complexType>
- <xs:choice maxOccurs=""unbounded"">
+ <xs:choice minOccurs=""0"" maxOccurs=""unbounded"">
<xs:element name=""MyType"">
<xs:complexType>
<xs:attribute name=""Desc"">
@@ -1798,9 +1842,15 @@
{
string xml = @"<?xml version=""1.0""
encoding=""utf-16""?>
<xs:schema id=""NewDataSet"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""
xmlns:msprop=""urn:schemas-microsoft-com:xml-msprop"">
- <xs:element name=""NewDataSet"" msdata:IsDataSet=""true""
msdata:Locale=""fi-FI"" msprop:version=""version 2.1"">
+" +
+#if NET_2_0
+@" <xs:element name=""NewDataSet"" msdata:IsDataSet=""true""
msdata:UseCurrentLocale=""true"" msprop:version=""version 2.1"">"
+#else
+@" <xs:element name=""NewDataSet"" msdata:IsDataSet=""true""
msdata:Locale=""fi-FI"" msprop:version=""version 2.1"">"
+#endif
+ + @"
<xs:complexType>
- <xs:choice maxOccurs=""unbounded"">
+ <xs:choice minOccurs=""0"" maxOccurs=""unbounded"">
<xs:element name=""Foo"">
<xs:complexType>
<xs:sequence>
@@ -1834,9 +1884,15 @@
string xml = @"<Example>
<xs:schema id=""Example"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">
- <xs:element name=""Example"" msdata:IsDataSet=""true""
msdata:Locale=""fi-FI"">
+" +
+#if NET_2_0
+@" <xs:element name=""Example"" msdata:IsDataSet=""true""
msdata:UseCurrentLocale=""true"">"
+#else
+@" <xs:element name=""Example"" msdata:IsDataSet=""true""
msdata:Locale=""fi-FI"">"
+#endif
+ + @"
<xs:complexType>
- <xs:choice maxOccurs=""unbounded"">
+ <xs:choice minOccurs=""0"" maxOccurs=""unbounded"">
<xs:element name=""Dimension"">
<xs:complexType>
<xs:sequence>
Modified: trunk/mcs/class/System.Data/Test/System.Data/DataTableTest.cs
===================================================================
--- trunk/mcs/class/System.Data/Test/System.Data/DataTableTest.cs
2006-11-28 06:32:38 UTC (rev 68563)
+++ trunk/mcs/class/System.Data/Test/System.Data/DataTableTest.cs
2006-11-28 06:33:13 UTC (rev 68564)
@@ -1402,7 +1402,7 @@
#if NET_2_0
[Test]
- public void TestWriteXmlSchema1()
+ public void TestWriteXmlSchema1 ()
{
DataTable dt = new DataTable("TestWriteXmlSchema");
dt.Columns.Add("Col1", typeof(int));
@@ -1430,14 +1430,14 @@
AssertEquals ("test#02", "<xs:schema id=\"NewDataSet\"
xmlns=\"\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"
xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">", substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
- AssertEquals ("test#03", " <xs:element
name=\"NewDataSet\" msdata:IsDataSet=\"true\"
msdata:MainDataTable=\"TestWriteXmlSchema\"
msdata:UseCurrentCulture=\"true\">", substring);
+ AssertEquals ("test#03", " <xs:element
name=\"NewDataSet\" msdata:IsDataSet=\"true\"
msdata:MainDataTable=\"TestWriteXmlSchema\" msdata:UseCurrentLocale=\"true\">",
substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
AssertEquals ("test#04", " <xs:complexType>",
substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
- AssertEquals ("test#05", " <xs:choice
maxOccurs=\"unbounded\">", substring);
+ AssertEquals ("test#05", " <xs:choice
minOccurs=\"0\" maxOccurs=\"unbounded\">", substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
@@ -1519,14 +1519,14 @@
AssertEquals ("test#02", "<xs:schema id=\"NewDataSet\"
xmlns=\"\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"
xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">", substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
- AssertEquals ("test#03", " <xs:element
name=\"NewDataSet\" msdata:IsDataSet=\"true\"
msdata:MainDataTable=\"TestWriteXmlSchema\"
msdata:UseCurrentCulture=\"true\">", substring);
+ AssertEquals ("test#03", " <xs:element
name=\"NewDataSet\" msdata:IsDataSet=\"true\"
msdata:MainDataTable=\"TestWriteXmlSchema\" msdata:UseCurrentLocale=\"true\">",
substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
AssertEquals ("test#04", " <xs:complexType>",
substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
- AssertEquals ("test#05", " <xs:choice
maxOccurs=\"unbounded\">", substring);
+ AssertEquals ("test#05", " <xs:choice
minOccurs=\"0\" maxOccurs=\"unbounded\">", substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
@@ -1623,14 +1623,14 @@
AssertEquals ("test#02", "<xs:schema id=\"NewDataSet\"
xmlns=\"\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"
xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">", substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
- AssertEquals ("test#03", " <xs:element
name=\"NewDataSet\" msdata:IsDataSet=\"true\"
msdata:MainDataTable=\"TestWriteXmlSchema\"
msdata:UseCurrentCulture=\"true\">", substring);
+ AssertEquals ("test#03", " <xs:element
name=\"NewDataSet\" msdata:IsDataSet=\"true\"
msdata:MainDataTable=\"TestWriteXmlSchema\" msdata:UseCurrentLocale=\"true\">",
substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
AssertEquals ("test#04", " <xs:complexType>",
substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
- AssertEquals ("test#05", " <xs:choice
maxOccurs=\"unbounded\">", substring);
+ AssertEquals ("test#05", " <xs:choice
minOccurs=\"0\" maxOccurs=\"unbounded\">", substring);
substring = TextString.Substring (0,
TextString.IndexOf(EOL));
TextString = TextString.Substring
(TextString.IndexOf(EOL) + EOL.Length);
@@ -2832,7 +2832,7 @@
#region Read/Write XML Tests
[Test]
- [Category ("NotWorking")]
+ //[Category ("NotWorking")]
public void ReadXmlSchema () {
DataTable Table = new DataTable ();
Table.ReadXmlSchema
("Test/System.Data/own_schema1.xsd");
@@ -2926,7 +2926,7 @@
xmlData += "<xs:schema id=\"SiteConfiguration\"
targetNamespace=\"http://tempuri.org/PortalCfg.xsd\"
xmlns:mstns=\"http://tempuri.org/PortalCfg.xsd\"
xmlns=\"http://tempuri.org/PortalCfg.xsd\"
xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"
xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\"
attributeFormDefault=\"qualified\" elementFormDefault=\"qualified\">";
xmlData += "<xs:element name=\"SiteConfiguration\"
msdata:IsDataSet=\"true\" msdata:EnforceConstraints=\"False\">";
xmlData += "<xs:complexType>";
- xmlData += "<xs:choice maxOccurs=\"unbounded\">";
+ xmlData += "<xs:choice minOccurs=\"0\"
maxOccurs=\"unbounded\">";
xmlData += "<xs:element name=\"Tab\">";
xmlData += "<xs:complexType>";
xmlData += "<xs:sequence>";
@@ -3004,7 +3004,7 @@
}
[Test]
- [Category ("NotWorking")]
+ //[Category ("NotWorking")]
public void ReadWriteXmlSchema_ByFileName () {
string sTempFileName1 =
"tmpDataSet_ReadWriteXml_43899-1.xml";
string sTempFileName2 =
"tmpDataSet_ReadWriteXml_43899-2.xml";
@@ -3139,7 +3139,6 @@
}
[Test]
- [Category ("NotWorking")]
public void WriteXmlSchema () {
DataSet ds = new DataSet ();
ds.ReadXml ("Test/System.Data/region.xml");
@@ -3218,7 +3217,6 @@
}
[Test]
- [Category ("NotWorking")]
public void WriteXmlSchema2 () {
string xml = @"<myDataSet
xmlns='NetFrameWork'><myTable><id>0</id><item>item
0</item></myTable><myTable><id>1</id><item>item
1</item></myTable><myTable><id>2</id><item>item
2</item></myTable><myTable><id>3</id><item>item
3</item></myTable><myTable><id>4</id><item>item
4</item></myTable><myTable><id>5</id><item>item
5</item></myTable><myTable><id>6</id><item>item
6</item></myTable><myTable><id>7</id><item>item
7</item></myTable><myTable><id>8</id><item>item
8</item></myTable><myTable><id>9</id><item>item 9</item></myTable></myDataSet>";
string schema = @"<?xml version='1.0'
encoding='utf-16'?>
@@ -3275,7 +3273,6 @@
}
[Test]
- [Category ("NotWorking")]
public void WriteXmlSchema3 () {
string xmlschema = @"<?xml version=""1.0""
encoding=""utf-16""?>
<xs:schema id=""ExampleDataSet"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">
@@ -3318,7 +3315,6 @@
}
[Test]
- [Category ("NotWorking")]
public void WriteXmlSchema4 () {
string xmlschema = @"<?xml version=""1.0""
encoding=""utf-16""?>
<xs:schema id=""Example"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">
@@ -3359,7 +3355,6 @@
}
[Test]
- [Category ("NotWorking")]
public void WriteXmlSchema5 () {
string xmlschema1 = @"<?xml version=""1.0""
encoding=""utf-16""?>
<xs:schema id=""Example"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">
@@ -3485,7 +3480,6 @@
}
[Test]
- [Category ("NotWorking")]
public void WriteXmlSchema6 () {
string xmlschema = @"<?xml version=""1.0""
encoding=""utf-16""?>
<xs:schema id=""Example"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">
@@ -3583,7 +3577,6 @@
}
[Test]
- [Category ("NotWorking")]
public void WriteXmlSchema_Relations_ForeignKeys () {
MemoryStream ms1 = null;
MemoryStream ms2 = null;
@@ -3655,7 +3648,7 @@
[Test]
[Category ("NotWorking")]
public void WriteXmlSchema_DifferentNamespace () {
- string schema = @"<xs:schema id='NewDataSet'
targetNamespace='urn:bar' xmlns:mstns='urn:bar' xmlns='urn:bar'
xmlns:xs='http://www.w3.org/2001/XMLSchema'
xmlns:msdata='urn:schemas-microsoft-com:xml-msdata'
attributeFormDefault='qualified' elementFormDefault='qualified'
xmlns:app1='urn:baz' xmlns:app2='urn:foo' msdata:schemafragmentcount='3'>
+ string schema = @"<?xml version='1.0'
encoding='utf-16'?>\n<xs:schema id='NewDataSet' targetNamespace='urn:bar'
xmlns:mstns='urn:bar' xmlns='urn:bar'
xmlns:xs='http://www.w3.org/2001/XMLSchema'
xmlns:msdata='urn:schemas-microsoft-com:xml-msdata'
attributeFormDefault='qualified' elementFormDefault='qualified'
xmlns:app1='urn:baz' xmlns:app2='urn:foo' msdata:schemafragmentcount='3'>
<xs:import namespace='urn:foo' />
<xs:import namespace='urn:baz' />
<xs:element name='NewDataSet' msdata:IsDataSet='true'
msdata:MainDataTable='urn_x003A_foo_x003A_NS1Table'
msdata:UseCurrentLocale='true'>
@@ -3715,9 +3708,6 @@
}
[Test]
- [Category ("NotWorking")]
- // WriteXmlSchema doesn't have overload wityh 2 parameters in
System.Data
- // and is commented-out TWICE below
public void WriteXmlSchema_Hierarchy () {
DataSet ds = new DataSet ();
DataTable table1 = new DataTable ();
@@ -3736,113 +3726,119 @@
new DataColumn[] { table2.Columns[1] }, true);
StringWriter writer1 = new StringWriter ();
- //table1.WriteXmlSchema (writer1, false);
- string expected1 = "<?xml version=\"1.0\"
encoding=\"utf-16\"?>\r\n<xs:schema id=\"NewDataSet\" xmlns=\"\"
xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"
xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n <xs:element
name=\"NewDataSet\" msdata:IsDataSet=\"true\" msdata:MainDataTable=\"Table1\"
msdata:UseCurrentLocale=\"true\">\r\n <xs:complexType>\r\n <xs:choice
minOccurs=\"0\" maxOccurs=\"unbounded\">\r\n <xs:element
name=\"Table1\">\r\n <xs:complexType>\r\n <xs:sequence>\r\n
<xs:element name=\"ID\" type=\"xs:int\" />\r\n
<xs:element name=\"Name\" type=\"xs:string\" minOccurs=\"0\" />\r\n
</xs:sequence>\r\n </xs:complexType>\r\n </xs:element>\r\n
</xs:choice>\r\n </xs:complexType>\r\n <xs:unique name=\"Constraint1\"
msdata:PrimaryKey=\"true\">\r\n <xs:selector xpath=\".//Table1\" />\r\n
<xs:field xpath=\"ID\" />\r\n </xs:unique>\r\n </xs:element>\r\n</
xs:schema>";
+ table1.WriteXmlSchema (writer1, false);
+ string expected1 = "<?xml version=\"1.0\"
encoding=\"utf-16\"?>\n<xs:schema id=\"NewDataSet\" xmlns=\"\"
xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"
xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n <xs:element
name=\"NewDataSet\" msdata:IsDataSet=\"true\" msdata:MainDataTable=\"Table1\"
msdata:UseCurrentLocale=\"true\">\n <xs:complexType>\n <xs:choice
minOccurs=\"0\" maxOccurs=\"unbounded\">\n <xs:element
name=\"Table1\">\n <xs:complexType>\n <xs:sequence>\n
<xs:element name=\"ID\" type=\"xs:int\" />\n <xs:element
name=\"Name\" type=\"xs:string\" minOccurs=\"0\" />\n
</xs:sequence>\n </xs:complexType>\n </xs:element>\n
</xs:choice>\n </xs:complexType>\n <xs:unique name=\"Constraint1\"
msdata:PrimaryKey=\"true\">\n <xs:selector xpath=\".//Table1\" />\n
<xs:field xpath=\"ID\" />\n </xs:unique>\n </xs:element>\n</xs:schema>";
AssertEquals ("#1", expected1, writer1.ToString());
StringWriter writer2 = new StringWriter ();
- //table1.WriteXmlSchema (writer2, true);
- string expected2 = "<?xml version=\"1.0\"
encoding=\"utf-16\"?>\r\n<xs:schema id=\"NewDataSet\" xmlns=\"\"
xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"
xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n <xs:element
name=\"NewDataSet\" msdata:IsDataSet=\"true\" msdata:MainDataTable=\"Table1\"
msdata:UseCurrentLocale=\"true\">\r\n <xs:complexType>\r\n <xs:choice
minOccurs=\"0\" maxOccurs=\"unbounded\">\r\n <xs:element
name=\"Table1\">\r\n <xs:complexType>\r\n <xs:sequence>\r\n
<xs:element name=\"ID\" type=\"xs:int\" />\r\n
<xs:element name=\"Name\" type=\"xs:string\" minOccurs=\"0\" />\r\n
</xs:sequence>\r\n </xs:complexType>\r\n </xs:element>\r\n
<xs:element name=\"Table2\">\r\n <xs:complexType>\r\n
<xs:sequence>\r\n <xs:element name=\"OrderID\" type=\"xs:int\"
/>\r\n <xs:element name=\"CustomerID\" type=\"xs:int\" minOccurs
=\"0\" />\r\n <xs:element name=\"OrderDate\" type=\"xs:dateTime\"
minOccurs=\"0\" />\r\n </xs:sequence>\r\n
</xs:complexType>\r\n </xs:element>\r\n </xs:choice>\r\n
</xs:complexType>\r\n <xs:unique name=\"Constraint1\"
msdata:PrimaryKey=\"true\">\r\n <xs:selector xpath=\".//Table1\" />\r\n
<xs:field xpath=\"ID\" />\r\n </xs:unique>\r\n <xs:unique
name=\"Table2_Constraint1\" msdata:ConstraintName=\"Constraint1\"
msdata:PrimaryKey=\"true\">\r\n <xs:selector xpath=\".//Table2\" />\r\n
<xs:field xpath=\"OrderID\" />\r\n </xs:unique>\r\n <xs:keyref
name=\"CustomerOrder\" refer=\"Constraint1\">\r\n <xs:selector
xpath=\".//Table2\" />\r\n <xs:field xpath=\"CustomerID\" />\r\n
</xs:keyref>\r\n </xs:element>\r\n</xs:schema>";
+ table1.WriteXmlSchema (writer2, true);
+ string expected2 = "<?xml version=\"1.0\"
encoding=\"utf-16\"?>\n<xs:schema id=\"NewDataSet\" xmlns=\"\"
xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"
xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n <xs:element
name=\"NewDataSet\" msdata:IsDataSet=\"true\" msdata:MainDataTable=\"Table1\"
msdata:UseCurrentLocale=\"true\">\n <xs:complexType>\n <xs:choice
minOccurs=\"0\" maxOccurs=\"unbounded\">\n <xs:element
name=\"Table1\">\n <xs:complexType>\n <xs:sequence>\n
<xs:element name=\"ID\" type=\"xs:int\" />\n <xs:element
name=\"Name\" type=\"xs:string\" minOccurs=\"0\" />\n
</xs:sequence>\n </xs:complexType>\n </xs:element>\n
<xs:element name=\"Table2\">\n <xs:complexType>\n
<xs:sequence>\n <xs:element name=\"OrderID\" type=\"xs:int\" />\n
<xs:element name=\"CustomerID\" type=\"xs:int\" minOccurs=\"0\"
/>\n <xs:eleme
nt name=\"OrderDate\" type=\"xs:dateTime\" minOccurs=\"0\" />\n
</xs:sequence>\n </xs:complexType>\n </xs:element>\n
</xs:choice>\n </xs:complexType>\n <xs:unique name=\"Constraint1\"
msdata:PrimaryKey=\"true\">\n <xs:selector xpath=\".//Table1\" />\n
<xs:field xpath=\"ID\" />\n </xs:unique>\n <xs:unique
name=\"Table2_Constraint1\" msdata:ConstraintName=\"Constraint1\"
msdata:PrimaryKey=\"true\">\n <xs:selector xpath=\".//Table2\" />\n
<xs:field xpath=\"OrderID\" />\n </xs:unique>\n <xs:keyref
name=\"CustomerOrder\" refer=\"Constraint1\">\n <xs:selector
xpath=\".//Table2\" />\n <xs:field xpath=\"CustomerID\" />\n
</xs:keyref>\n </xs:element>\n</xs:schema>";
AssertEquals ("#2", expected2, writer2.ToString ());
}
[Test]
- [Category ("NotWorking")]
+ //[Category ("NotWorking")]
// WriteXmlSchema doesn't have overload wityh 2 parameters in
System.Data
// and is commented-out TWICE below
- public void ReadWriteXmlSchema () {
- DataSet ds = new DataSet ();
- ds.ReadXmlSchema ("Test/System.Data/store.xsd");
+ public void ReadWriteXmlSchema()
+ {
+ DataSet ds = new DataSet();
+ ds.ReadXmlSchema("Test/System.Data/store.xsd");
// check dataset properties before testing write
- AssertDataSet ("ds", ds, "NewDataSet", 3, 2);
- AssertDataTable ("tab1", ds.Tables[0], "bookstore", 1,
0, 0, 1, 1, 1);
- AssertDataTable ("tab2", ds.Tables[1], "book", 5, 0, 1,
1, 2, 1);
- AssertDataTable ("tab3", ds.Tables[2], "author", 3, 0,
1, 0, 1, 0);
+ AssertDataSet("ds", ds, "NewDataSet", 3, 2);
+ AssertDataTable("tab1", ds.Tables[0], "bookstore", 1,
0, 0, 1, 1, 1);
+ AssertDataTable("tab2", ds.Tables[1], "book", 5, 0, 1,
1, 2, 1);
+ AssertDataTable("tab3", ds.Tables[2], "author", 3, 0,
1, 0, 1, 0);
// FIXME: currently order is not compatible. Use name
as index
- AssertDataRelation ("rel1",
ds.Relations["book_author"], "book_author", true, new string[] { "book_Id" },
new string[] { "book_Id" }, true, true);
- AssertDataRelation ("rel2",
ds.Relations["bookstore_book"], "bookstore_book", true, new string[] {
"bookstore_Id" }, new string[] { "bookstore_Id" }, true, true);
+ AssertDataRelation("rel1", ds.Relations["book_author"],
"book_author", true, new string[] { "book_Id" }, new string[] { "book_Id" },
true, true);
+ AssertDataRelation("rel2",
ds.Relations["bookstore_book"], "bookstore_book", true, new string[] {
"bookstore_Id" }, new string[] { "bookstore_Id" }, true, true);
- ds.ReadXml ("Test/System.Data/region.xml",
XmlReadMode.InferSchema);
- ds.Relations.Clear (); // because can not call
WriteXmlSchema with nested relations.
+ ds.ReadXml("Test/System.Data/region.xml",
XmlReadMode.InferSchema);
+ ds.Relations.Clear(); // because can not call
WriteXmlSchema with nested relations.
- TextWriter writer1 = new StringWriter ();
- ds.Tables[0].WriteXmlSchema (writer1);
- string TextString1 = GetNormalizedSchema
(writer1.ToString ());
+ TextWriter writer1 = new StringWriter();
+ ds.Tables[0].WriteXmlSchema(writer1);
+ //string TextString1 =
GetNormalizedSchema(writer1.ToString());
+ string TextString1 = writer1.ToString();
string expected1 = @"<?xml version=""1.0""
encoding=""utf-16""?>" +
-@"<xs:schema id=""Root"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""
xmlns:xs=""http://www.w3.org/2001/XMLSchema"">" +
+@"<xs:schema id=""Root"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">" +
@"<xs:complexType name=""bookstoreType"">" +
@"</xs:complexType>" +
@"<xs:element name=""bookstore"" type=""bookstoreType"" />" +
- @"<xs:element msdata:IsDataSet=""true"" msdata:MainDataTable=""bookstore""
msdata:UseCurrentLocale=""true"" name=""Root"">" +
+ @"<xs:element name=""Root"" msdata:IsDataSet=""true""
msdata:MainDataTable=""bookstore"" msdata:UseCurrentLocale=""true"">" +
@"<xs:complexType>" +
- @"<xs:choice maxOccurs=""unbounded"" minOccurs=""0"">" +
- @"<xs:element ref=""bookstore"" />" +
+ @"<xs:choice minOccurs=""0"" maxOccurs=""unbounded"">" +
+ @"<xs:element ref=""bookstore"" />" +
@"</xs:choice>" +
@"</xs:complexType>" +
@"</xs:element>" +
@"</xs:schema>";
- AssertEquals ("#1", expected1,
TextString1.Replace("\r\n","").Replace(" ",""));
+ NUnit.Framework.Assert.AreEqual(expected1.Replace("\n",
""),
+
TextString1.Replace("\r\n", "").Replace(" ", "").Replace("\n", ""), "#1");
- TextWriter writer2 = new StringWriter ();
- //ds.Tables[1].WriteXmlSchema (writer2,false);
- string TextString2 = GetNormalizedSchema
(writer2.ToString ());
+ TextWriter writer2 = new StringWriter();
+ ds.Tables[1].WriteXmlSchema(writer2, false);
+ //string TextString2 =
GetNormalizedSchema(writer2.ToString());
+ string TextString2 = writer2.ToString();
string expected2 = @"<?xml version=""1.0""
encoding=""utf-16""?>" +
-@"<xs:schema id=""Root"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""
xmlns:xs=""http://www.w3.org/2001/XMLSchema"">" +
+@"<xs:schema id=""Root"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">" +
@"<xs:complexType name=""bookType"">" +
@"<xs:sequence>" +
- @"<xs:element msdata:Ordinal=""1"" name=""title"" type=""xs:string"" />"
+
- @"<xs:element msdata:Ordinal=""2"" name=""price"" type=""xs:decimal""
/>" +
+ @"<xs:element name=""title"" type=""xs:string"" msdata:Ordinal=""1"" />"
+
+ @"<xs:element name=""price"" type=""xs:decimal"" msdata:Ordinal=""2""
/>" +
@"</xs:sequence>" +
@"<xs:attribute name=""genre"" type=""xs:string"" />" +
@"<xs:attribute name=""bookstore_Id"" type=""xs:int"" use=""prohibited""
/>" +
@"</xs:complexType>" +
@"<xs:element name=""book"" type=""bookType"" />" +
- @"<xs:element msdata:IsDataSet=""true"" msdata:MainDataTable=""book""
msdata:UseCurrentLocale=""true"" name=""Root"">" +
+ @"<xs:element name=""Root"" msdata:IsDataSet=""true""
msdata:MainDataTable=""book"" msdata:UseCurrentLocale=""true"">" +
@"<xs:complexType>" +
- @"<xs:choice maxOccurs=""unbounded"" minOccurs=""0"">" +
- @"<xs:element ref=""book"" />" +
+ @"<xs:choice minOccurs=""0"" maxOccurs=""unbounded"">" +
+ @"<xs:element ref=""book"" />" +
@"</xs:choice>" +
@"</xs:complexType>" +
@"</xs:element>" +
@"</xs:schema>";
- AssertEquals ("#2", expected2, TextString2.Replace
("\r\n", "").Replace (" ", ""));
-
- TextWriter writer3 = new StringWriter ();
- ds.Tables[2].WriteXmlSchema (writer3);
- string TextString3 = GetNormalizedSchema
(writer3.ToString ());
+ NUnit.Framework.Assert.AreEqual(expected2,
TextString2.Replace("\r\n", "").Replace(" ", ""), "#2");
+
+ TextWriter writer3 = new StringWriter();
+ ds.Tables[2].WriteXmlSchema(writer3);
+ //string TextString3 =
GetNormalizedSchema(writer3.ToString());
+ string TextString3 = writer3.ToString();
string expected3 = @"<?xml version=""1.0""
encoding=""utf-16""?>" +
-@"<xs:schema id=""Root"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""
xmlns:xs=""http://www.w3.org/2001/XMLSchema"">" +
+@"<xs:schema id=""Root"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">" +
@"<xs:complexType name=""authorName"">" +
@"<xs:sequence>" +
- @"<xs:element msdata:Ordinal=""0"" name=""first-name""
type=""xs:string"" />" +
- @"<xs:element msdata:Ordinal=""1"" name=""last-name"" type=""xs:string""
/>" +
+ @"<xs:element name=""first-name"" type=""xs:string""
msdata:Ordinal=""0"" />" +
+ @"<xs:element name=""last-name"" type=""xs:string"" msdata:Ordinal=""1""
/>" +
@"</xs:sequence>" +
@"<xs:attribute name=""book_Id"" type=""xs:int"" use=""prohibited"" />" +
@"</xs:complexType>" +
@"<xs:element name=""author"" type=""authorName"" />" +
- @"<xs:element msdata:IsDataSet=""true"" msdata:MainDataTable=""author""
msdata:UseCurrentLocale=""true"" name=""Root"">" +
+ @"<xs:element name=""Root"" msdata:IsDataSet=""true""
msdata:MainDataTable=""author"" msdata:UseCurrentLocale=""true"">" +
@"<xs:complexType>" +
- @"<xs:choice maxOccurs=""unbounded"" minOccurs=""0"">" +
+ @"<xs:choice minOccurs=""0"" maxOccurs=""unbounded"">" +
@"<xs:element ref=""author"" />" +
@"</xs:choice>" +
@"</xs:complexType>" +
@"</xs:element>" +
@"</xs:schema>";
- AssertEquals ("#3", expected3, TextString3.Replace
("\r\n", "").Replace (" ", ""));
-
- TextWriter writer4 = new StringWriter ();
- ds.Tables[3].WriteXmlSchema (writer4);
- string TextString4 = GetNormalizedSchema
(writer4.ToString ());
+ NUnit.Framework.Assert.AreEqual(expected3,
TextString3.Replace("\r\n", "").Replace(" ", ""), "#3");
+
+ TextWriter writer4 = new StringWriter();
+ ds.Tables[3].WriteXmlSchema(writer4);
+ //string TextString4 =
GetNormalizedSchema(writer4.ToString());
+ string TextString4 = writer4.ToString();
string expected4 = @"<?xml version=""1.0""
encoding=""utf-16""?>" +
-@"<xs:schema id=""Root"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""
xmlns:xs=""http://www.w3.org/2001/XMLSchema"">" +
- @"<xs:element msdata:IsDataSet=""true"" msdata:MainDataTable=""Region""
msdata:UseCurrentLocale=""true"" name=""Root"">" +
+@"<xs:schema id=""Root"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">" +
+ @"<xs:element name=""Root"" msdata:IsDataSet=""true""
msdata:MainDataTable=""Region"" msdata:UseCurrentLocale=""true"">" +
@"<xs:complexType>" +
- @"<xs:choice maxOccurs=""unbounded"" minOccurs=""0"">" +
+ @"<xs:choice minOccurs=""0"" maxOccurs=""unbounded"">" +
@"<xs:element name=""Region"">" +
@"<xs:complexType>" +
@"<xs:sequence>" +
- @"<xs:element minOccurs=""0"" name=""RegionID""
type=""xs:string"" />" +
- @"<xs:element minOccurs=""0"" name=""RegionDescription""
type=""xs:string"" />" +
+ @"<xs:element name=""RegionID"" type=""xs:string""
minOccurs=""0"" />" +
+ @"<xs:element name=""RegionDescription"" type=""xs:string""
minOccurs=""0"" />" +
@"</xs:sequence>" +
@"</xs:complexType>" +
@"</xs:element>" +
@@ -3850,11 +3846,11 @@
@"</xs:complexType>" +
@"</xs:element>" +
@"</xs:schema>";
- AssertEquals ("#4", expected4, TextString4.Replace
("\r\n", "").Replace (" ", ""));
+ NUnit.Framework.Assert.AreEqual(expected4,
TextString4.Replace("\r\n", "").Replace(" ", ""), "#4");
}
[Test]
- [Category ("NotWorking")]
+ //[Category ("NotWorking")]
public void ReadWriteXmlSchema_IgnoreSchema () {
DataSet ds = new DataSet ();
ds.ReadXmlSchema ("Test/System.Data/store.xsd");
@@ -3872,39 +3868,41 @@
TextWriter writer1 = new StringWriter ();
ds.Tables[0].WriteXmlSchema (writer1);
- string TextString1 = GetNormalizedSchema
(writer1.ToString ());
+ //string TextString1 = GetNormalizedSchema
(writer1.ToString ());
+ string TextString1 = writer1.ToString ();
string expected1 = @"<?xml version=""1.0""
encoding=""utf-16""?>" +
-@"<xs:schema id=""NewDataSet""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""
xmlns:xs=""http://www.w3.org/2001/XMLSchema"">" +
+@"<xs:schema id=""NewDataSet"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">" +
@"<xs:complexType name=""bookstoreType"">" +
@"</xs:complexType>" +
@"<xs:element name=""bookstore"" type=""bookstoreType"" />" +
- @"<xs:element msdata:IsDataSet=""true"" msdata:MainDataTable=""bookstore""
msdata:UseCurrentLocale=""true"" name=""NewDataSet"">" +
+ @"<xs:element name=""NewDataSet"" msdata:IsDataSet=""true""
msdata:MainDataTable=""bookstore"" msdata:UseCurrentLocale=""true"">" +
@"<xs:complexType>" +
- @"<xs:choice maxOccurs=""unbounded"" minOccurs=""0"">" +
+ @"<xs:choice minOccurs=""0"" maxOccurs=""unbounded"">" +
@"<xs:element ref=""bookstore"" />" +
@"</xs:choice>" +
@"</xs:complexType>" +
@"</xs:element>" +
@"</xs:schema>";
- AssertEquals ("#1", expected1, TextString1.Replace
("\r\n", "").Replace (" ", ""));
+ Console.WriteLine ("{0} - {1}", TextString1, expected1);
+ AssertEquals ("#1", expected1, TextString1.Replace
("\r\n", "").Replace (" ", "").Replace ("\n", ""));
TextWriter writer2 = new StringWriter ();
- //ds.Tables[1].WriteXmlSchema (writer2, false);
+ ds.Tables[1].WriteXmlSchema (writer2, false);
string TextString2 = GetNormalizedSchema
(writer2.ToString ());
string expected2 = @"<?xml version=""1.0""
encoding=""utf-16""?>" +
-@"<xs:schema id=""NewDataSet""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""
xmlns:xs=""http://www.w3.org/2001/XMLSchema"">" +
+@"<xs:schema id=""NewDataSet"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">" +
@"<xs:complexType name=""bookType"">" +
@"<xs:sequence>" +
- @"<xs:element msdata:Ordinal=""1"" name=""title"" type=""xs:string"" />"
+
- @"<xs:element msdata:Ordinal=""2"" name=""price"" type=""xs:decimal""
/>" +
+ @"<xs:element name=""title"" type=""xs:string"" msdata:Ordinal=""1"" />"
+
+ @"<xs:element name=""price"" type=""xs:decimal"" msdata:Ordinal=""2""
/>" +
@"</xs:sequence>" +
@"<xs:attribute name=""genre"" type=""xs:string"" />" +
@"<xs:attribute name=""bookstore_Id"" type=""xs:int"" use=""prohibited""
/>" +
@"</xs:complexType>" +
@"<xs:element name=""book"" type=""bookType"" />" +
- @"<xs:element msdata:IsDataSet=""true"" msdata:MainDataTable=""book""
msdata:UseCurrentLocale=""true"" name=""NewDataSet"">" +
+ @"<xs:element name=""NewDataSet"" msdata:IsDataSet=""true""
msdata:MainDataTable=""book"" msdata:UseCurrentLocale=""true"">" +
@"<xs:complexType>" +
- @"<xs:choice maxOccurs=""unbounded"" minOccurs=""0"">" +
+ @"<xs:choice minOccurs=""0"" maxOccurs=""unbounded"">" +
@"<xs:element ref=""book"" />" +
@"</xs:choice>" +
@"</xs:complexType>" +
@@ -3916,18 +3914,18 @@
ds.Tables[2].WriteXmlSchema (writer3);
string TextString3 = GetNormalizedSchema
(writer3.ToString ());
string expected3 = @"<?xml version=""1.0""
encoding=""utf-16""?>" +
-@"<xs:schema id=""NewDataSet""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""
xmlns:xs=""http://www.w3.org/2001/XMLSchema"">" +
+@"<xs:schema id=""NewDataSet"" xmlns=""""
xmlns:xs=""http://www.w3.org/2001/XMLSchema""
xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">" +
@"<xs:complexType name=""authorName"">" +
@"<xs:sequence>" +
- @"<xs:element msdata:Ordinal=""0"" name=""first-name""
type=""xs:string"" />" +
- @"<xs:element msdata:Ordinal=""1"" name=""last-name"" type=""xs:string""
/>" +
+ @"<xs:element name=""first-name"" type=""xs:string""
msdata:Ordinal=""0"" />" +
+ @"<xs:element name=""last-name"" type=""xs:string"" msdata:Ordinal=""1""
/>" +
@"</xs:sequence>" +
@"<xs:attribute name=""book_Id"" type=""xs:int"" use=""prohibited"" />" +
@"</xs:complexType>" +
@"<xs:element name=""author"" type=""authorName"" />" +
- @"<xs:element msdata:IsDataSet=""true"" msdata:MainDataTable=""author""
msdata:UseCurrentLocale=""true"" name=""NewDataSet"">" +
+ @"<xs:element name=""NewDataSet"" msdata:IsDataSet=""true""
msdata:MainDataTable=""author"" msdata:UseCurrentLocale=""true"">" +
@"<xs:complexType>" +
- @"<xs:choice maxOccurs=""unbounded"" minOccurs=""0"">" +
+ @"<xs:choice minOccurs=""0"" maxOccurs=""unbounded"">" +
@"<xs:element ref=""author"" />" +
@"</xs:choice>" +
@"</xs:complexType>" +
@@ -3947,7 +3945,6 @@
}
[Test]
- [Category ("NotWorking")]
public void ReadWriteXmlSchema_2 () {
DataSet ds = new DataSet ("dataset");
ds.Tables.Add ("table1");
@@ -3981,7 +3978,6 @@
}
[Test]
- [Category ("NotWorking")]
[ExpectedException (typeof (InvalidOperationException))]
public void ReadWriteXmlSchemaExp_NoTableName () {
DataTable dtw = new DataTable ();
@@ -3991,6 +3987,13 @@
[Test]
[ExpectedException (typeof (ArgumentException))]
+ public void ReadWriteXmlSchemaExp_NoFileName () {
+ DataTable dtw = new DataTable ();
+ dtw.WriteXmlSchema ("");
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentException))]
public void ReadWriteXmlSchemaExp_TableNameConflict () {
DataTable dtw = new DataTable ("Table1");
StringWriter writer1 = new StringWriter ();
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches