예제 #1
0
        public async Task TestSimpleOrderBy()
        {
            var entities = this.database.CreateEnumeratedEntities(5)
                           .OrderByDescending(e => e.Id)
                           .ToList();
            var orderByExpression = new OrderByExpressionFactory <Entity, int>(e => e.Id)
                                    .Create(OrderByDirection.Descending);

            using (var context = this.database.Create())
            {
                var result = await orderByExpression
                             .OrderBy(context.Entities)
                             .ToListAsync();

                Assert.Equal(entities, result, new PropertyComparer <Entity>());
            }
        }
예제 #2
0
        public async Task TestThenOrderBy()
        {
            var entities = this.database.CreateSimilarEntities(3, "Name2")
                           .Concat(this.database.CreateSimilarEntities(3, "Name1"))
                           .OrderBy(e => e.Name)
                           .ThenByDescending(e => e.Id)
                           .ToList();
            var orderByExpression = new OrderByExpressionFactory <Entity, int>(e => e.Id)
                                    .Create(OrderByDirection.Descending);

            using (var context = this.database.Create())
            {
                var result = await orderByExpression
                             .ThenBy(context.Entities.OrderBy(e => e.Name))
                             .ToListAsync();

                Assert.Equal(entities, result, new PropertyComparer <Entity>());
            }
        }