public void DescendingKeyThenDescendingKey() { Record[] source = new Record[] { new Record{ Name = "Jim", City = "Minneapolis", Country = "USA" }, new Record{ Name = "Tim", City = "Seattle", Country = "USA" }, new Record{ Name = "Philip", City = "Orlando", Country = "USA" }, new Record{ Name = "Chris", City = "London", Country = "UK" }, new Record{ Name = "Rob", City = "Kent", Country = "UK" } }; Record[] expected = new Record[] { new Record{ Name = "Tim", City = "Seattle", Country = "USA" }, new Record{ Name = "Philip", City = "Orlando", Country = "USA" }, new Record{ Name = "Jim", City = "Minneapolis", Country = "USA" }, new Record{ Name = "Chris", City = "London", Country = "UK" }, new Record{ Name = "Rob", City = "Kent", Country = "UK" } }; Assert.Equal(expected, source.OrderByDescending((e) => e.Country).ThenByDescending((e) => e.City)); }