Пример #1
0
        public void UpdateTest()
        {
            //Insert first
            InsertTest();

            using (ShimsContext.Create())
            {
                //Verify the ExecuteNonQuery will call SqlCommand.ExecuteNonQuery
                System.Data.SqlClient.Fakes.ShimSqlCommand.AllInstances.ExecuteNonQuery =
                    c =>
                {
                    if (!c.CommandText.StartsWithIgnoreCase("UPDATE [dbo].[Categories]"))
                    {
                        return(0);
                    }
                    if (!c.CommandText.ContainsIgnoreCase("SET [CategoryName] = @CategoryName"))
                    {
                        return(0);
                    }
                    if (!c.CommandText.ContainsIgnoreCase("WHERE ([CategoryName] LIKE @CategoryName1)"))
                    {
                        return(0);
                    }
                    if (c.Parameters.Count != 2)
                    {
                        return(0);
                    }
                    return(1);
                };

                using (var sql = new SqlQueryBuilderContext(ConnectionName))
                {
                    var update = sql.CreateUpdateQuery();
                    update.Table("Categories")
                    .Set("CategoryName").By("Category U")
                    .Where(c => c.Field("CategoryName").Contains("Category"));

                    var v = sql.ExecuteNonQuery(update);
                    Assert.IsTrue(v > 0);
                }
            }
        }
Пример #2
0
        public void InsertTest()
        {
            using (ShimsContext.Create())
            {
                //Verify the ExecuteNonQuery will call SqlCommand.ExecuteNonQuery
                System.Data.SqlClient.Fakes.ShimSqlCommand.AllInstances.ExecuteNonQuery =
                    c =>
                {
                    if (!c.CommandText.StartsWithIgnoreCase("INSERT INTO"))
                    {
                        return(0);
                    }
                    if (!c.CommandText.ContainsIgnoreCase("[dbo].[Categories]([CategoryName])"))
                    {
                        return(0);
                    }
                    if (!c.CommandText.ContainsIgnoreCase("VALUES (@CategoryName)"))
                    {
                        return(0);
                    }
                    if (c.Parameters.Count != 1)
                    {
                        return(0);
                    }
                    return(1);
                };

                using (var sql = new SqlQueryBuilderContext(ConnectionName))
                {
                    var insert = sql.CreateInsertQuery();
                    insert.Into("Categories")
                    .Values("CategoryName").By("Category 1");

                    var v = sql.ExecuteNonQuery(insert);
                    Assert.IsTrue(v > 0);
                }
            }
        }