public void QueryCritter_GroupByThenSelectAnonymousClassThenOrderBy_ReturnsCorrectValues() { // Just take some random critter // Search by its name var expected = CritterEntities .GroupBy(x => x.Name.Substring(0, 1)) .Select( x => new { x.Key, Count = x.Count(), WeaponSum = x.Sum(y => y.Weapons.Sum(z => z.Strength)) }) .OrderByDescending(x => x.Count) .Take(10) .ToList(); var actual = Client.Query <ICritter>() .GroupBy(x => x.Name.Substring(0, 1)) .Select( x => new { x.Key, Count = x.Count(), WeaponSum = x.Sum(y => y.Weapons.Sum(z => z.Strength)) }) .OrderByDescending(x => x.Count) .Take(10) .ToList(); AssertSequenceEqualsAndCountIsGreaterThanZero(actual, expected); }