Exemple #1
0
        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", " "));
        }