Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSenganal T <senga@mono-cvs.ximian.com>2006-02-13 10:54:39 +0300
committerSenganal T <senga@mono-cvs.ximian.com>2006-02-13 10:54:39 +0300
commit870e79a0fddad4d2c0ccb8238fd8a3fa9d8a464c (patch)
treee27e4225ae6549b4ddeac6a7acf04973d254d876 /mcs/class/System.Data/Test
parentcad7a4e6983be114834d531b8eef4c4e19f89684 (diff)
2006-02-13 Senganal T <tsenganal@novell.com>
* Test/ProviderTests/System.Data.SqlClient/SqlAdapterTest.cs : Added testcases for #77480 * System.Data.Common/DbDataAdapter.cs : - FillSchema : - Add table to schema only if MissingSchemaAction is not Ignore Add schema to table if MissingSchemaAction is set to either of Add or AddWithKey - BuildSchema : - Set the Schema values only if MissingSchemaAction is set to AddWithKey svn path=/branches/mono-1-1-13/mcs/; revision=56832
Diffstat (limited to 'mcs/class/System.Data/Test')
-rw-r--r--mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/ChangeLog4
-rw-r--r--mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlDataAdapterTest.cs76
2 files changed, 80 insertions, 0 deletions
diff --git a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/ChangeLog b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/ChangeLog
index 24558753b4e..27c8ad4a0b6 100644
--- a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/ChangeLog
+++ b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/ChangeLog
@@ -1,3 +1,7 @@
+2006-02-13 Senganal T <tsenganal@novell.com>
+
+ * SqlAdapterTest.cs : Added testcases for #77480
+
2006-02-05 Senganal T <tsenganal@novell.com>
* SqlParameterTest.cs : New : Testcase for bug #77410
diff --git a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlDataAdapterTest.cs b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlDataAdapterTest.cs
index 2724b6fc11f..488c7c65252 100644
--- a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlDataAdapterTest.cs
+++ b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlDataAdapterTest.cs
@@ -657,5 +657,81 @@ namespace MonoTests.System.Data.SqlClient
Assert.IsTrue (dataSet.Tables[0].Columns[1].AllowDBNull,"#3");
}
}
+
+ [Test]
+ public void Fill_CheckSchema ()
+ {
+ SqlConnection conn = new SqlConnection(connectionString);
+ using (conn) {
+ conn.Open();
+
+ IDbCommand command = conn.CreateCommand();
+
+ // Create Temp Table
+ String cmd = "Create Table #tmp_TestTable (" ;
+ cmd += "id int primary key,";
+ cmd += "field int not null)";
+ command.CommandText = cmd;
+ command.ExecuteNonQuery();
+
+ DataSet dataSet = new DataSet();
+ string selectString = "SELECT * from #tmp_TestTable";
+ IDbDataAdapter dataAdapter = new SqlDataAdapter (
+ selectString,conn);
+ dataAdapter.Fill (dataSet);
+ Assert.IsTrue (dataSet.Tables[0].Columns[1].AllowDBNull, "#1");
+ Assert.AreEqual (0, dataSet.Tables[0].PrimaryKey.Length, "#2");
+
+ dataSet.Reset ();
+ dataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey ;
+ dataAdapter.Fill (dataSet);
+ Assert.IsFalse (dataSet.Tables[0].Columns[1].AllowDBNull, "#3");
+ Assert.AreEqual (1, dataSet.Tables[0].PrimaryKey.Length, "#4");
+ }
+ }
+
+ [Test]
+ public void FillSchema_CheckSchema ()
+ {
+ SqlConnection conn = new SqlConnection(connectionString);
+ using (conn) {
+ conn.Open();
+
+ IDbCommand command = conn.CreateCommand();
+
+ // Create Temp Table
+ String cmd = "Create Table #tmp_TestTable (" ;
+ cmd += "id int primary key,";
+ cmd += "field int not null)";
+ command.CommandText = cmd;
+ command.ExecuteNonQuery();
+
+ DataSet dataSet = new DataSet();
+ string selectString = "SELECT * from #tmp_TestTable";
+ IDbDataAdapter dataAdapter = new SqlDataAdapter (
+ selectString,conn);
+
+ dataAdapter.FillSchema (dataSet, SchemaType.Mapped);
+ Assert.IsFalse (dataSet.Tables[0].Columns[1].AllowDBNull, "#1");
+
+ dataSet.Reset ();
+ dataAdapter.MissingSchemaAction = MissingSchemaAction.Add;
+ dataAdapter.FillSchema (dataSet, SchemaType.Mapped);
+ Assert.IsFalse (dataSet.Tables[0].Columns[1].AllowDBNull, "#2");
+
+ dataSet.Reset ();
+ dataAdapter.MissingSchemaAction = MissingSchemaAction.Ignore;
+ dataAdapter.FillSchema (dataSet, SchemaType.Mapped);
+ Assert.AreEqual (0, dataSet.Tables.Count, "#3");
+
+ dataSet.Reset ();
+ dataAdapter.MissingSchemaAction = MissingSchemaAction.Error;
+ try {
+ dataAdapter.FillSchema (dataSet, SchemaType.Mapped);
+ Assert.Fail ("#4 Error should be thrown");
+ } catch (InvalidOperationException e) {
+ }
+ }
+ }
}
}