diff options
author | Gert Driesen <drieseng@users.sourceforge.net> | 2009-01-17 03:45:35 +0300 |
---|---|---|
committer | Gert Driesen <drieseng@users.sourceforge.net> | 2009-01-17 03:45:35 +0300 |
commit | b49af57c79ee2f13c04728864db94b68b0471725 (patch) | |
tree | 76e1d5ee91a84ec531b946e33ffdda16b958fa7a /mcs/class/System.Data/Test | |
parent | f05d7c008592249ac8123c2d56a206f1a42143d6 (diff) |
Improved test for DeriveParameters.
svn path=/trunk/mcs/; revision=123674
Diffstat (limited to 'mcs/class/System.Data/Test')
-rw-r--r-- | mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlCommandBuilderTest.cs | 55 |
1 files changed, 48 insertions, 7 deletions
diff --git a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlCommandBuilderTest.cs b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlCommandBuilderTest.cs index b9a55a0bf38..63e0398c36e 100644 --- a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlCommandBuilderTest.cs +++ b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlCommandBuilderTest.cs @@ -976,20 +976,61 @@ namespace MonoTests.System.Data [Test] public void DeriveParameters () { - SqlConnection conn = (SqlConnection) ConnectionManager.Singleton.Connection; - ConnectionManager.Singleton.OpenConnection (); - + SqlConnection conn; SqlCommand cmd = null; + conn = (SqlConnection) ConnectionManager.Singleton.Connection; + ConnectionManager.Singleton.OpenConnection (); + try { cmd = conn.CreateCommand (); - cmd.CommandText = "sp_326182"; + cmd.CommandText = "sp_326182a"; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandTimeout = 90; - cmd.Connection = conn; - + cmd.Parameters.Add ("dummy", SqlDbType.Image, 5); + SqlCommandBuilder.DeriveParameters (cmd); - Assert.AreEqual (5, cmd.Parameters.Count, "#4"); + Assert.AreEqual (5, cmd.Parameters.Count, "#A1"); + + cmd = conn.CreateCommand (); + cmd.CommandText = "sp_326182b"; + cmd.CommandType = CommandType.StoredProcedure; + cmd.CommandTimeout = 90; + cmd.Parameters.Add ("dummy", SqlDbType.Image, 5); + + SqlCommandBuilder.DeriveParameters (cmd); + Assert.AreEqual (3, cmd.Parameters.Count, "#A"); + + Assert.AreEqual (ParameterDirection.ReturnValue, cmd.Parameters [0].Direction, "#B:Direction"); + Assert.IsFalse (cmd.Parameters [0].IsNullable, "#B:IsNullable"); + Assert.AreEqual ("@RETURN_VALUE", cmd.Parameters [0].ParameterName, "#B:ParameterName"); + //Assert.AreEqual (0, cmd.Parameters [0].Precision, "#B:Precision"); + Assert.AreEqual (0, cmd.Parameters [0].Scale, "#B:Scale"); + Assert.AreEqual (SqlDbType.Int, cmd.Parameters [0].SqlDbType, "#B:SqlDbType"); + Assert.IsNull (cmd.Parameters [0].Value, "#B:Value"); + + Assert.AreEqual (ParameterDirection.Input, cmd.Parameters [1].Direction, "#C:Direction"); + //Assert.IsFalse (cmd.Parameters [1].IsNullable, "#C:IsNullable"); + Assert.AreEqual ("@param0", cmd.Parameters [1].ParameterName, "#C:ParameterName"); + //Assert.AreEqual (0, cmd.Parameters [1].Precision, "#C:Precision"); + Assert.AreEqual (0, cmd.Parameters [1].Scale, "#C:Scale"); + Assert.AreEqual (SqlDbType.Int, cmd.Parameters [1].SqlDbType, "#C:SqlDbType"); + Assert.IsNull (cmd.Parameters [1].Value, "#C:Value"); + + //Assert.AreEqual (ParameterDirection.InputOutput, cmd.Parameters [2].Direction, "#D:Direction"); + //Assert.IsFalse (cmd.Parameters [2].IsNullable, "#D:IsNullable"); + Assert.AreEqual ("@param1", cmd.Parameters [2].ParameterName, "#D:ParameterName"); + Assert.AreEqual (5, cmd.Parameters [2].Precision, "#D:Precision"); + Assert.AreEqual (2, cmd.Parameters [2].Scale, "#D:Scale"); + Assert.AreEqual (SqlDbType.Decimal, cmd.Parameters [2].SqlDbType, "#D:SqlDbType"); + Assert.IsNull (cmd.Parameters [2].Value, "#D:Value"); + + cmd.Parameters ["@param0"].Value = 5; + cmd.Parameters ["@param1"].Value = 4; + cmd.ExecuteNonQuery (); + Assert.AreEqual (666, cmd.Parameters ["@RETURN_VALUE"].Value, "#E1"); + Assert.AreEqual (5, cmd.Parameters ["@param0"].Value, "#E2"); + Assert.AreEqual (7m, cmd.Parameters ["@param1"].Value, "#E3"); } finally { if (cmd != null) cmd.Dispose (); |