mvelDialect,
null );
pkgBuilder.addPackageFromDrl( new StringReader( "package pkg1;\nglobal Boolean value;" ) );
ReturnValueConstraintEvaluator node = new ReturnValueConstraintEvaluator();
final MVELReturnValueEvaluatorBuilder builder = new MVELReturnValueEvaluatorBuilder();
builder.build( context,
node,
descr,
null );
final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
ruleBase.addPackage( pkgBuilder.getPackage() );
final InternalWorkingMemory wm = (InternalWorkingMemory) ruleBase.newStatefulSession();
wm.setGlobal( "value", true );
RuleFlowProcessInstance processInstance = new RuleFlowProcessInstance();
processInstance.setWorkingMemory( wm );
SplitInstance splitInstance = new SplitInstance();
splitInstance.setProcessInstance( processInstance );
( (MVELReturnValueEvaluator) node.getReturnValueEvaluator()).compile( Thread.currentThread().getContextClassLoader() );
assertTrue( node.evaluate( splitInstance,
null,
null ) );
wm.setGlobal( "value", false );
assertFalse( node.evaluate( splitInstance,
null,
null ) );
}