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 } }