示例#1
0
 public void DeleteAll(DatabaseDriver database)
 {
     using (var con = database.GetConnection())
     {
         Assert.True(con.DeleteAll <Foo>());
         Assert.Empty(con.GetAll <Foo>());
     }
 }
示例#2
0
 public async Task DeleteAllAsync(DatabaseDriver database)
 {
     using (var con = database.GetConnection())
     {
         Assert.True(await con.DeleteAllAsync <Bar>());
         Assert.Empty(await con.GetAllAsync <Bar>());
     }
 }
示例#3
0
 public void SelectEqual(DatabaseDriver database)
 {
     using (var con = database.GetConnection())
     {
         var products = con.Select <Product>(p => p.CategoryId == 1);
         Assert.NotEmpty(products);
     }
 }
示例#4
0
 public void SelectContains(DatabaseDriver database)
 {
     using (var con = database.GetConnection())
     {
         var products = con.Select <Product>(p => p.Name.Contains("Chai"));
         Assert.NotEmpty(products);
     }
 }
示例#5
0
        public void Get(DatabaseDriver database)
        {
            using var con = database.GetConnection();
            var product = con.Get <Product>(1);

            Assert.NotNull(product);
            Assert.NotEmpty(product.Name);
        }
示例#6
0
        public async Task GetAsync(DatabaseDriver database)
        {
            using var con = database.GetConnection();
            var product = await con.GetAsync <Product>(1);

            Assert.NotNull(product);
            Assert.NotEmpty(product.Name);
        }
示例#7
0
 public void InsertAllEmtyList(DatabaseDriver database)
 {
     using (var con = database.GetConnection())
     {
         var ps = new List <Product>();
         con.InsertAll(ps);
     }
 }
示例#8
0
 public async Task InsertAllAsyncEmtyList(DatabaseDriver database)
 {
     using (var con = database.GetConnection())
     {
         var ps = new List <Product>();
         await con.InsertAllAsync(ps);
     }
 }
示例#9
0
 public async Task SelectPaged_FetchesFirstPage(DatabaseDriver database)
 {
     using (var con = database.GetConnection())
     {
         var paged = (await con.SelectPagedAsync <Product>(p => p.Name == "Chai", 1, 5)).ToArray();
         Assert.Single(paged);
     }
 }
示例#10
0
        public async Task GetAsync_OneToManyNonExsting(DatabaseDriver database)
        {
            using var con = database.GetConnection();
            var order = await con.GetAsync <Order, OrderLine, Order>(2);

            Assert.NotNull(order);
            Assert.Null(order.OrderLines);
        }
示例#11
0
        public void Get_OneToOneNotExisting(DatabaseDriver database)
        {
            using var con = database.GetConnection();
            var product = con.Get <Product, Category, Product>(11);

            Assert.NotNull(product);
            Assert.Null(product.Category);
        }
示例#12
0
 public void Fetches_SecondPage(DatabaseDriver database)
 {
     using (var con = database.GetConnection())
     {
         var paged = con.GetPaged <Product>(2, 5).ToArray();
         Assert.Equal(5, paged.Length);
     }
 }
示例#13
0
 public async Task Fetches_ThirdPartialPage(DatabaseDriver database)
 {
     using (var con = database.GetConnection())
     {
         var paged = (await con.GetPagedAsync <Product>(3, 5)).ToArray();
         Assert.True(paged.Length >= 3, "Should contain at least 3 items");
     }
 }
示例#14
0
        public async Task SelectProject(DatabaseDriver database)
        {
            using var con = database.GetConnection();
            var products = await con.FromAsync <Product>(sql =>
                                                         sql.Select(p => new { p.ProductId, p.Name }));

            Assert.NotEmpty(products);
            Assert.All(products, p => Assert.Equal(0, p.CategoryId));
        }
示例#15
0
        public async Task GetAsync_CompositeKey(DatabaseDriver database)
        {
            using var con = database.GetConnection();
            var product = await con.GetAsync <ProductsCategories>(1, 1);

            Assert.NotNull(product);
            Assert.Equal(1, product.ProductId);
            Assert.Equal(1, product.CategoryId);
        }
示例#16
0
        public void Get_CompositeKey(DatabaseDriver database)
        {
            using var con = database.GetConnection();
            var product = con.Get <ProductsCategories>(1, 1);

            Assert.NotNull(product);
            Assert.Equal(1, product.ProductId);
            Assert.Equal(1, product.CategoryId);
        }
示例#17
0
        public async Task SelectAll(DatabaseDriver database)
        {
            using (var con = database.GetConnection())
            {
                var products = await con.FromAsync <Product>(sql => sql.Select());

                Assert.NotEmpty(products);
            }
        }
示例#18
0
        public async Task SelectAsyncContains(DatabaseDriver database)
        {
            using (var con = database.GetConnection())
            {
                var products = await con.SelectAsync <Product>(p => p.Name.Contains("Anton"));

                Assert.Equal(4, products.Count());
            }
        }
示例#19
0
        public async Task SelectAsyncEqual(DatabaseDriver database)
        {
            using (var con = database.GetConnection())
            {
                var products = await con.SelectAsync <Product>(p => p.CategoryId == 1);

                Assert.Equal(10, products.Count());
            }
        }
示例#20
0
 public void GetAll(DatabaseDriver database)
 {
     using (var con = database.GetConnection())
     {
         var products = con.GetAll <Product>();
         Assert.NotEmpty(products);
         Assert.All(products, p => Assert.NotEmpty(p.Name));
     }
 }
示例#21
0
        public void Select_ContainsVariable_CaseInsensitive(DatabaseDriver database)
        {
            var productName = "anton";

            using var con = database.GetConnection();
            var products = con.Select <Product>(p => p.Name !.Contains(productName));

            Assert.Equal(4, products.Count());
        }
示例#22
0
        public async Task GetAllAsync_OneToMany(DatabaseDriver database)
        {
            using (var con = database.GetConnection())
            {
                var orders = await con.GetAllAsync <Order, OrderLine, Order>();

                Assert.NotEmpty(orders);
            }
        }
示例#23
0
        public void Select_EndsWith(DatabaseDriver database)
        {
            var productName = "2";

            using var con = database.GetConnection();
            var products = con.Select <Product>(p => p.Name !.EndsWith(productName));

            Assert.Equal(5, products.Count());
        }
示例#24
0
        public async Task SelectAsync_ContainsVariable(DatabaseDriver database)
        {
            var productName = "Anton";

            using var con = database.GetConnection();
            var products = await con.SelectAsync <Product>(p => p.Name !.Contains(productName));

            Assert.Equal(4, products.Count());
        }
示例#25
0
        public async Task SelectAsync_StartsWith(DatabaseDriver database)
        {
            var productName = "Cha";

            using var con = database.GetConnection();
            var products = await con.SelectAsync <Product>(p => p.Name !.StartsWith(productName));

            Assert.Equal(4, products.Count());
        }
示例#26
0
        public void Get_OneToMany(DatabaseDriver database)
        {
            using var con = database.GetConnection();
            var order = con.Get <Order, OrderLine, Order>(1);

            Assert.NotNull(order);
            Assert.NotNull(order.OrderLines);
            Assert.Equal(3, order.OrderLines?.Count);
        }
示例#27
0
        public async Task GetAllAsync_OneToOne(DatabaseDriver database)
        {
            using (var con = database.GetConnection())
            {
                var products = await con.GetAllAsync <Product, Category, Product>();

                Assert.NotEmpty(products);
            }
        }
示例#28
0
        public async Task GetAsync_OneToMany(DatabaseDriver database)
        {
            using var con = database.GetConnection();
            var order = await con.GetAsync <Order, OrderLine, Order>(1);

            Assert.NotNull(order);
            Assert.NotNull(order.OrderLines);
            Assert.Equal(3, order.OrderLines?.Count);
        }
示例#29
0
 public void Get_OneToManyNonExsting(DatabaseDriver database)
 {
     using (var con = database.GetConnection())
     {
         var order = con.Get <Order, OrderLine, Order>(2);
         Assert.NotNull(order);
         Assert.Null(order.OrderLines);
     }
 }
示例#30
0
        public void Select_StartsWith_CaseInsensitive(DatabaseDriver database)
        {
            var productName = "cha";

            using var con = database.GetConnection();
            var products = con.Select <Product>(p => p.Name !.StartsWith(productName));

            Assert.Equal(4, products.Count());
        }