public void DeriveParameters() { using (HsqlConnection connection = NewConnection()) using (HsqlCommand testSubject = connection.CreateCommand()) { testSubject.CommandText = "call 1 + cast(? as integer)"; testSubject.CommandType = global::System.Data.CommandType.StoredProcedure; testSubject.DeriveParameters(); HsqlParameterCollection parameters = testSubject.Parameters; Assert.AreEqual(1, parameters.Count); HsqlParameter parameter = parameters[0]; Assert.AreEqual(DbType.Int32, parameter.DbType); Assert.AreEqual(ParameterDirection.Input, parameter.Direction); Assert.AreEqual(false, parameter.IsNullable); Assert.AreEqual(0, parameter.Offset); Assert.AreEqual("@p1", parameter.ParameterName); Assert.AreEqual(10, parameter.Precision); Assert.AreEqual(HsqlProviderType.Integer, parameter.ProviderType); Assert.AreEqual(0, parameter.Scale); Assert.AreEqual(4, parameter.Size); Assert.AreEqual("", parameter.SourceColumn); Assert.AreEqual(false, parameter.SourceColumnNullMapping); Assert.AreEqual(DataRowVersion.Default, parameter.SourceVersion); Assert.AreEqual("NULL", parameter.ToSqlLiteral()); Assert.AreEqual(null, parameter.Value); } }
public void Clone() { using (HsqlConnection connection = NewConnection()) using (HsqlTransaction transaction = connection.BeginTransaction()) using (HsqlCommand originalCommand = connection.CreateCommand()) { originalCommand.CommandType = global::System.Data.CommandType.StoredProcedure; originalCommand.CommandText = "call 1 + cast(? as integer)"; originalCommand.DeriveParameters(); HsqlCommand clonedCommand = originalCommand.Clone(); Assert.AreEqual(originalCommand.CommandText, clonedCommand.CommandText); Assert.AreEqual(originalCommand.CommandTimeout, clonedCommand.CommandTimeout); Assert.AreEqual(originalCommand.CommandType, clonedCommand.CommandType); Assert.AreSame(connection, clonedCommand.Connection); Assert.AreEqual(originalCommand.DesignTimeVisible, clonedCommand.DesignTimeVisible); Assert.AreEqual(originalCommand.Parameters.Count, clonedCommand.Parameters.Count); for (int i = 0; i < originalCommand.Parameters.Count; i++) { HsqlParameter orignalCommandParameter = originalCommand.Parameters[i]; HsqlParameter clonedCommandParameter = clonedCommand.Parameters[i]; Assert.AreEqual(orignalCommandParameter.DbType, clonedCommandParameter.DbType); Assert.AreEqual(orignalCommandParameter.Direction, clonedCommandParameter.Direction); Assert.AreEqual(orignalCommandParameter.IsNullable, clonedCommandParameter.IsNullable); Assert.AreEqual(orignalCommandParameter.Offset, clonedCommandParameter.Offset); Assert.AreEqual(orignalCommandParameter.ParameterName, clonedCommandParameter.ParameterName); Assert.AreEqual(orignalCommandParameter.Precision, clonedCommandParameter.Precision); Assert.AreEqual(orignalCommandParameter.ProviderType, clonedCommandParameter.ProviderType); Assert.AreEqual(orignalCommandParameter.Scale, clonedCommandParameter.Scale); Assert.AreEqual(orignalCommandParameter.Size, clonedCommandParameter.Size); Assert.AreEqual(orignalCommandParameter.SourceColumn, clonedCommandParameter.SourceColumn); Assert.AreEqual(orignalCommandParameter.SourceColumnNullMapping, clonedCommandParameter.SourceColumnNullMapping); Assert.AreEqual(orignalCommandParameter.SourceVersion, clonedCommandParameter.SourceVersion); Assert.AreEqual(orignalCommandParameter.ToSqlLiteral(), clonedCommandParameter.ToSqlLiteral()); Assert.AreEqual(orignalCommandParameter.Value, clonedCommandParameter.Value); } Assert.AreSame(originalCommand.Transaction, clonedCommand.Transaction); Assert.AreEqual(originalCommand.UpdatedRowSource, clonedCommand.UpdatedRowSource); } }