Beispiel #1
0
        public void TopTenResults()
        {
            const int reorderLevel = 0;
            const int pageSize     = 10;

            var query = new SqlLambda <Product>(p => p.ReorderLevel == reorderLevel)
                        .OrderBy(p => p.ProductName);

            var results = Connection.Query <Product>(query.QueryStringPage(pageSize), query.QueryParameters).ToList();

            Assert.AreEqual(pageSize, results.Count);
            Assert.IsTrue(results.All(p => p.ReorderLevel == reorderLevel));
        }
Beispiel #2
0
        public void PaginateOverResults()
        {
            const int reorderLevel  = 0;
            const int pageSize      = 5;
            const int numberOfPages = 5;
            const int lastPageSize  = 4;

            var query = new SqlLambda <Product>(p => p.ReorderLevel == reorderLevel)
                        .OrderBy(p => p.ProductName);

            for (int page = 1; page < numberOfPages; ++page)
            {
                var results = Connection.Query <Product>(query.QueryStringPage(pageSize, page), query.QueryParameters).ToList();
                Assert.AreEqual(pageSize, results.Count);
                Assert.IsTrue(results.All(p => p.ReorderLevel == reorderLevel));
            }

            var lastResults = Connection.Query <Product>(query.QueryStringPage(pageSize, numberOfPages), query.QueryParameters).ToList();

            Assert.AreEqual(lastPageSize, lastResults.Count);
            Assert.IsTrue(lastResults.All(p => p.ReorderLevel == reorderLevel));
        }
Beispiel #3
0
        public void FindByStringPrefix()
        {
            const string prefix = "To";

            var query = new SqlLambda <Product>(p => p.ProductName.StartsWith(prefix));
            var a     = query.Join <Category>((p, c) => c.CategoryId == p.CategoryId);

            query.And(t => t.CategoryId == 1);
            query.Or(t => t.CategoryId == 1 && t.Discontinued == false);
            query.And(t => t.CategoryId == 1);
            query.OrderBy(t => t.CategoryId);
            var sql = query.QueryStringPage(20, 2);

            var result = Connection.Query <Product>(query.QueryString, query.QueryParameters).ToList();

            Assert.AreEqual(2, result.Count);

            foreach (var product in result)
            {
                Assert.IsTrue(product.ProductName.StartsWith(prefix));
            }
        }