Beispiel #1
0
        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);
        }
Beispiel #2
0
        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
        }
Beispiel #3
0
        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);
            }
        }