\r
AssertReadXml (ds, "SimpleTable", xml6,\r
XmlReadMode.Auto, XmlReadMode.InferSchema,\r
- "root", 1); // not NewDataSet unlike standalone load\r
+ "NewDataSet", 1);\r
AssertDataTable ("seq1", ds.Tables [0], "root", 1, 1, 0, 0, 0, 0);\r
}\r
\r
\r
AssertReadXml (ds, "SimpleTable2", xml7,\r
XmlReadMode.Auto, XmlReadMode.InferSchema,\r
- "root", 1); // dataset name will not be overwritten\r
+ "NewDataSet", 1);\r
AssertDataTable ("#1", ds.Tables [0], "root", 2, 1, 0, 0, 0, 0);\r
\r
// simple table -> simple dataset\r
dt.Columns.Add ("col");\r
ds.ReadXml (new StringReader (xml1), XmlReadMode.IgnoreSchema);\r
AssertDataSet ("ds", ds, "NewDataSet", 1, 0);\r
- AssertEquals ("wrapper element", 1, dt.Rows.Count);\r
+ Assert.AreEqual (1, dt.Rows.Count, "wrapper element");\r
dt.Clear ();\r
\r
ds.ReadXml (new StringReader (xml2), XmlReadMode.IgnoreSchema);\r
- AssertEquals ("no wrapper element", 1, dt.Rows.Count);\r
+ Assert.AreEqual (1, dt.Rows.Count, "no wrapper element");\r
dt.Clear ();\r
\r
ds.ReadXml (new StringReader (xml3), XmlReadMode.IgnoreSchema);\r
- AssertEquals ("no such table", 0, dt.Rows.Count);\r
+ Assert.AreEqual (0, dt.Rows.Count, "no such table");\r
}\r
\r
// bug #60118\r
\r
DataSet ds = new DataSet ();\r
ds.ReadXml (new StringReader (xml));\r
- AssertNotNull (ds.Tables ["PriceListDetails"]);\r
+ Assert.IsNotNull (ds.Tables ["PriceListDetails"]);\r
}\r
\r
[Test] // bug #80045\r
-#if NET_2_0\r
- [Category ("NotWorking")]\r
-#endif\r
public void ColumnOrder ()\r
{\r
string xml = "<?xml version=\"1.0\" standalone=\"yes\"?>" +\r
\r
DataSet ds = new DataSet ();\r
ds.ReadXml (new StringReader (xml));\r
- AssertEquals ("#1", 1, ds.Tables.Count);\r
- AssertEquals ("#2", "Table", ds.Tables [0].TableName);\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
+ Assert.AreEqual (1, ds.Tables.Count, "#1");\r
+ Assert.AreEqual ("Table", ds.Tables [0].TableName, "#2");\r
+ Assert.AreEqual (4, ds.Tables [0].Columns.Count, "#3");\r
+ Assert.AreEqual ("Name", ds.Tables [0].Columns [0].ColumnName, "#4a");\r
+ Assert.AreEqual (0, ds.Tables [0].Columns [0].Ordinal, "#4b");\r
+ Assert.AreEqual ("FirstName", ds.Tables [0].Columns [1].ColumnName, "#5a");\r
+ Assert.AreEqual (1, ds.Tables [0].Columns [1].Ordinal, "#5b");\r
+ Assert.AreEqual ("Address", ds.Tables [0].Columns [2].ColumnName, "#6a");\r
+ Assert.AreEqual (2, ds.Tables [0].Columns [2].Ordinal, "#6b");\r
+ Assert.AreEqual ("Income", ds.Tables [0].Columns [3].ColumnName, "#7a");\r
+ Assert.AreEqual (3, ds.Tables [0].Columns [3].Ordinal, "#7b");\r
}\r
\r
[Test] // bug #80048\r
- [Category ("NotWorking")]\r
public void XmlSpace ()\r
{\r
string xml = "<?xml version=\"1.0\" standalone=\"yes\"?>" +\r
" </Table>" +\r
"</NewDataSet>";\r
\r
- DataSet ds = new DataSet ();\r
+ DataSet ds = new DataSet ();\r
+ ds.ReadXml (new StringReader (xml));\r
+ Assert.AreEqual (1, ds.Tables.Count, "#1");\r
+ Assert.AreEqual ("Table", ds.Tables [0].TableName, "#2");\r
+ Assert.AreEqual (3, ds.Tables [0].Columns.Count, "#3");\r
+ Assert.AreEqual ("Name", ds.Tables [0].Columns [0].ColumnName, "#4a");\r
+ Assert.AreEqual (0, ds.Tables [0].Columns [0].Ordinal, "#4b");\r
+ Assert.AreEqual ("FirstName", ds.Tables [0].Columns [1].ColumnName, "#5a");\r
+ Assert.AreEqual (1, ds.Tables [0].Columns [1].Ordinal, "#5b");\r
+ Assert.AreEqual ("Income", ds.Tables [0].Columns [2].ColumnName, "#6a");\r
+ Assert.AreEqual (2, ds.Tables [0].Columns [2].Ordinal, "#6b");\r
+ }\r
+\r
+ public void TestSameParentChildName ()\r
+ {\r
+ string xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><resource type=\"parent\">" +\r
+ "<resource type=\"child\" /></resource>";\r
+ DataSet ds = new DataSet ();\r
+ ds.ReadXml (new StringReader (xml));\r
+\r
+ AssertReadXml (ds, "SameNameParentChild", xml,\r
+ XmlReadMode.Auto, XmlReadMode.IgnoreSchema,\r
+ "NewDataSet", 1);\r
+ }\r
+\r
+ public void TestSameColumnName ()\r
+ {\r
+ string xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><resource resource_Id_0=\"parent\">" +\r
+ "<resource resource_Id_0=\"child\" /></resource>";\r
+ DataSet ds = new DataSet ();\r
ds.ReadXml (new StringReader (xml));\r
-#if NET_2_0\r
- AssertEquals ("#1", 1, ds.Tables.Count);\r
- AssertEquals ("#2", "Table", ds.Tables [0].TableName);\r
- AssertEquals ("#3", 3, 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
- AssertEquals ("#6a", "Income", ds.Tables [0].Columns [2].ColumnName);\r
- AssertEquals ("#6b", 2, ds.Tables [0].Columns [2].Ordinal);\r
-#else\r
- AssertEquals ("#1", 2, ds.Tables.Count);\r
- AssertEquals ("#2", "Table", ds.Tables [0].TableName);\r
- AssertEquals ("#3", 3, 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", "Table_Id", ds.Tables [0].Columns [1].ColumnName);\r
- AssertEquals ("#5b", 1, ds.Tables [0].Columns [1].Ordinal);\r
- AssertEquals ("#6a", "Income", ds.Tables [0].Columns [2].ColumnName);\r
- AssertEquals ("#6b", 2, ds.Tables [0].Columns [2].Ordinal);\r
- AssertEquals ("#7", "FirstName", ds.Tables [1].TableName);\r
- AssertEquals ("#8", 3, ds.Tables [1].Columns.Count);\r
- AssertEquals ("#9a", "space", ds.Tables [1].Columns [0].ColumnName);\r
- AssertEquals ("#9b", 0, ds.Tables [1].Columns [0].Ordinal);\r
- AssertEquals ("#10a", "FirstName_Text", ds.Tables [1].Columns [1].ColumnName);\r
- AssertEquals ("#10b", 1, ds.Tables [1].Columns [1].Ordinal);\r
- AssertEquals ("#11a", "Table_Id", ds.Tables [1].Columns [2].ColumnName);\r
- AssertEquals ("#11b", 2, ds.Tables [1].Columns [2].Ordinal);\r
-#endif\r
+\r
+ AssertReadXml (ds, "SameColumnName", xml,\r
+ XmlReadMode.Auto, XmlReadMode.IgnoreSchema,\r
+ "NewDataSet", 1);\r
+ }\r
+ \r
+ [Test]\r
+ public void DataSetExtendedPropertiesTest()\r
+ {\r
+ DataSet dataSet1 = new DataSet();\r
+ dataSet1.ExtendedProperties.Add("DS1", "extended0");\r
+ DataTable table = new DataTable("TABLE1");\r
+ table.ExtendedProperties.Add("T1", "extended1");\r
+ table.Columns.Add("C1", typeof(int));\r
+ table.Columns.Add("C2", typeof(string));\r
+ table.Columns[1].MaxLength = 20;\r
+ table.Columns[0].ExtendedProperties.Add("C1Ext1", "extended2");\r
+ table.Columns[1].ExtendedProperties.Add("C2Ext1", "extended3");\r
+ dataSet1.Tables.Add(table);\r
+ table.LoadDataRow(new object[]{1, "One"}, false);\r
+ table.LoadDataRow(new object[]{2, "Two"}, false);\r
+ string file = Path.Combine (Path.GetTempPath (), "schemas-test.xml");\r
+ try {\r
+ dataSet1.WriteXml (file, XmlWriteMode.WriteSchema);\r
+ }\r
+ catch (Exception ex) {\r
+ Assert.Fail ("DSExtPropTest failed: WriteXml failed with : "+ex.Message);\r
+ } finally {\r
+ File.Delete (file);\r
+ }\r
+ \r
+ DataSet dataSet2 = new DataSet();\r
+ dataSet2.ReadXml("Test/System.Data/schemas/b582732.xml", XmlReadMode.ReadSchema);\r
+ Assert.AreEqual (dataSet1.ExtendedProperties["DS1"], dataSet2.ExtendedProperties["DS1"],\r
+ "DSExtProp#1: DS extended properties mismatch");\r
+ \r
+ Assert.AreEqual (dataSet1.Tables[0].ExtendedProperties["T1"], dataSet2.Tables[0].ExtendedProperties["T1"],\r
+ "DSExtProp#2: DS Table extended properties mismatch");\r
+ Assert.AreEqual (dataSet1.Tables[0].Columns[0].ExtendedProperties["C1Ext1"], \r
+ dataSet2.Tables[0].Columns[0].ExtendedProperties["C1Ext1"],\r
+ "DSExtProp#3: DS Table Column 1 extended properties mismatch");\r
+ Assert.AreEqual (dataSet1.Tables[0].Columns[1].ExtendedProperties["C2Ext1"], \r
+ dataSet2.Tables[0].Columns[1].ExtendedProperties["C2Ext1"],\r
+ "DSExtProp#4: DS Table Column 2 extended properties mismatch");\r
}\r
}\r
}\r