public void GroupBy_Dynamic_Exceptions() { //Arrange var testList = User.GenerateSampleModels(100, allowNullableProfiles: true); var qry = testList.AsQueryable(); //Act Assert.Throws <ParseException>(() => qry.GroupBy("Bad")); Assert.Throws <ParseException>(() => qry.GroupBy("Id, UserName")); Assert.Throws <ParseException>(() => qry.GroupBy("new Id, UserName")); Assert.Throws <ParseException>(() => qry.GroupBy("new (Id, UserName")); Assert.Throws <ParseException>(() => qry.GroupBy("new (Id, UserName, Bad)")); Assert.Throws <ArgumentNullException>(() => DynamicQueryableExtensions.GroupBy((IQueryable <string>)null, "Id")); Assert.Throws <ArgumentNullException>(() => qry.GroupBy(null)); Assert.Throws <ArgumentException>(() => qry.GroupBy("")); Assert.Throws <ArgumentException>(() => qry.GroupBy(" ")); Assert.Throws <ArgumentNullException>(() => qry.GroupBy("Id", (string)null)); Assert.Throws <ArgumentException>(() => qry.GroupBy("Id", "")); Assert.Throws <ArgumentException>(() => qry.GroupBy("Id", " ")); }