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>()); } }
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>()); } }