// Author:\r
// Atsushi Enomoto <atsushi@ximian.com>\r
//\r
-
-//
-// 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.
-//
\r
+//\r
+// Copyright (C) 2004 Novell, Inc (http://www.novell.com)\r
+//\r
+// Permission is hereby granted, free of charge, to any person obtaining\r
+// a copy of this software and associated documentation files (the\r
+// "Software"), to deal in the Software without restriction, including\r
+// without limitation the rights to use, copy, modify, merge, publish,\r
+// distribute, sublicense, and/or sell copies of the Software, and to\r
+// permit persons to whom the Software is furnished to do so, subject to\r
+// the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be\r
+// included in all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
+//\r
\r
using System;\r
-using System.IO;\r
using System.Data;\r
+using System.IO;\r
using System.Text;\r
using System.Xml;\r
using System.Xml.Serialization;\r
+\r
using NUnit.Framework;\r
\r
namespace MonoTests.System.Data\r
ds.ReadXml (new StringReader (xml));\r
AssertNotNull (ds.Tables ["PriceListDetails"]);\r
}\r
+\r
+ [Test] // bug #80045\r
+ [Category ("NotWorking")]\r
+ public void ColumnOrder ()\r
+ {\r
+ string xml = "<?xml version=\"1.0\" standalone=\"yes\"?>" +\r
+ "<NewDataSet>" +\r
+ " <Table>" +\r
+ " <Name>Miguel</Name>" +\r
+ " <FirstName>de Icaza</FirstName>" +\r
+ " <Income>4000</Income>" +\r
+ " </Table>" +\r
+ " <Table>" +\r
+ " <Name>25</Name>" +\r
+ " <FirstName>250</FirstName>" +\r
+ " <Address>Belgium</Address>" +\r
+ " <Income>5000</Income>" +\r
+ "</Table>" +\r
+ "</NewDataSet>";\r
+\r
+ DataSet ds = new DataSet ();\r
+ ds.ReadXml (new StringReader (xml));\r
+ AssertEquals ("#1", 1, ds.Tables.Count);\r
+ AssertNotNull ("#2", ds.Tables ["Table"]);\r
+ AssertEquals ("#3", 4, ds.Tables [0].Columns.Count);\r
+ AssertEquals ("#4a", "Name", ds.Tables [0].Columns [0].ColumnName);\r
+ AssertEquals ("#4b", 0, ds.Tables [0].Columns [0].Ordinal);\r
+ AssertEquals ("#5a", "FirstName", ds.Tables [0].Columns [1].ColumnName);\r
+ AssertEquals ("#5b", 1, ds.Tables [0].Columns [1].Ordinal);\r
+#if NET_2_0\r
+ AssertEquals ("#6a", "Address", ds.Tables [0].Columns [2].ColumnName);\r
+ AssertEquals ("#6b", 2, ds.Tables [0].Columns [2].Ordinal);\r
+ AssertEquals ("#7a", "Income", ds.Tables [0].Columns [3].ColumnName);\r
+ AssertEquals ("#7b", 3, ds.Tables [0].Columns [3].Ordinal);\r
+#else\r
+ AssertEquals ("#6a", "Income", ds.Tables [0].Columns [2].ColumnName);\r
+ AssertEquals ("#6b", 2, ds.Tables [0].Columns [2].Ordinal);\r
+ AssertEquals ("#7a", "Address", ds.Tables [0].Columns [3].ColumnName);\r
+ AssertEquals ("#7b", 3, ds.Tables [0].Columns [3].Ordinal);\r
+#endif\r
+ }\r
}\r
}\r