public async Task Delete_MultiRow() { // first insert 2 categories var categories = new Categories(); var insertedCategory1 = await categories.InsertAsync(new { CategoryName = "Cat Delete_MR", Description = "cat 1 desc" }); int category1ID = insertedCategory1.CategoryID; Assert.IsTrue(category1ID > 0); var insertedCategory2 = await categories.InsertAsync(new { CategoryName = "Cat Delete_MR", Description = "cat 2 desc" }); int category2ID = insertedCategory2.CategoryID; Assert.IsTrue(category2ID > 0); Assert.AreEqual(2, await categories.DeleteAsync(where : "CategoryName=@0", args: (string)insertedCategory1.CategoryName), "Delete should affect 2 rows"); var categoriesFromDB = await(await categories.AllAsync(where : "CategoryName=@0", args: (string)insertedCategory2.CategoryName)).ToListAsync(); Assert.AreEqual(0, categoriesFromDB.Count); }
public async Task Delete_SingleRow() { // first insert 2 categories var categories = new Categories(ProviderName); var insertedCategory1 = await categories.InsertAsync(new { CategoryName = "Cat Delete_SR", Description = "cat 1 desc" }); int category1ID = insertedCategory1.CategoryID; Assert.IsTrue(category1ID > 0); var insertedCategory2 = await categories.InsertAsync(new { CategoryName = "Cat Delete_SR", Description = "cat 2 desc" }); int category2ID = insertedCategory2.CategoryID; Assert.IsTrue(category2ID > 0); Assert.AreEqual(1, await categories.DeleteAsync(category1ID), "Delete should affect 1 row"); var categoriesFromDB = await(await categories.AllAsync(where : "CategoryName=@0", args: (string)insertedCategory2.CategoryName)).ToListAsync(); Assert.AreEqual((long)1, categoriesFromDB.Count); Assert.AreEqual(category2ID, Convert.ToInt32(categoriesFromDB[0].CategoryID)); // convert from uint }
public async Task Insert_MultipleRows() { var categories = new Categories(); var toInsert = new List <dynamic>(); var CategoryName = "Cat Insert_MR"; toInsert.Add(new { CategoryName, Description = "cat 1 desc" }); toInsert.Add(new { CategoryName, Description = "cat 2 desc" }); var inserted = await categories.InsertAsync(toInsert.ToArray()); var selected = await(await categories.AllAsync(where : "CategoryName=@0", orderBy: "CategoryID", args: (string)toInsert[0].CategoryName)).ToListAsync(); Assert.AreEqual(2, inserted.Count()); Assert.AreEqual(2, selected.Count); var both = inserted.Zip(selected, (insertedItem, selectedItem) => new { insertedItem, selectedItem }); foreach (var combined in both) { Assert.AreEqual(combined.insertedItem.CategoryID, combined.selectedItem.CategoryID); Assert.AreEqual(combined.insertedItem.CategoryName, combined.selectedItem.CategoryName); Assert.AreEqual(combined.insertedItem.Description, combined.selectedItem.Description); } }