public void TestGetProcessorInvalid()
        {
            var spec = MakeSpec(new SelectClauseSpecCompiled(SupportSelectExprFactory.MakeInvalidSelectList(), false), null, _groupByList, null, null, _orderByList);

            // invalid select clause
            try
            {
                ResultSetProcessorFactoryFactory.GetProcessorPrototype(
                    spec, _stmtContext, _typeService3Stream,
                    null, new bool[0], true, ContextPropertyRegistryImpl.EMPTY_REGISTRY,
                    null, new Configuration(_container), null, false, false);
                Assert.Fail();
            }
            catch (ExprValidationException)
            {
                // expected
            }

            // invalid group-by
            _groupByList.Add(new ExprIdentNodeImpl("xxxx", "s0"));
            try
            {
                spec = MakeSpec(new SelectClauseSpecCompiled(SupportSelectExprFactory.MakeNoAggregateSelectListUnnamed(), false), null, _groupByList, null, null, _orderByList);
                ResultSetProcessorFactoryFactory.GetProcessorPrototype(
                    spec, _stmtContext, _typeService3Stream,
                    null, new bool[0], true, ContextPropertyRegistryImpl.EMPTY_REGISTRY,
                    null, new Configuration(_container), null, false, false);
                Assert.Fail();
            }
            catch (ExprValidationException)
            {
                // expected
            }

            // Test group by having properties that are aggregated in select clause, should fail
            _groupByList.Clear();
            _groupByList.Add(SupportExprNodeFactory.MakeSumAggregateNode());

            var selectList = new SelectClauseElementCompiled[] {
                new SelectClauseExprCompiledSpec(SupportExprNodeFactory.MakeSumAggregateNode(), null, null, false)
            };

            try
            {
                spec = MakeSpec(new SelectClauseSpecCompiled(selectList, false), null, _groupByList, null, null, _orderByList);
                ResultSetProcessorFactoryFactory.GetProcessorPrototype(
                    spec, _stmtContext, _typeService3Stream,
                    null, new bool[0], true, ContextPropertyRegistryImpl.EMPTY_REGISTRY,
                    null, new Configuration(_container), null, false, false);
                Assert.Fail();
            }
            catch (ExprValidationException)
            {
                // expected
            }
        }