示例#1
0
        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);
        }