Esempio n. 1
0
        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);
                }
        }
Esempio n. 2
0
        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);
                    }
        }