Model compile generate code that inaccurately fires the rule in comparison to non executable model code created rulebase or in 6.x.
rule "test_rule" dialect "java" when $nanTest : NanTest( $testDouble1 : testDouble1 , $testDouble2 : testDouble2 , $testDouble1 + 10 > $testDouble2 , testBoolean!=null, testBoolean==false) then System.out.println("rule_a fired "); $nanTest.setTestBoolean(true); update($nanTest); end DoubleNaNTest nan = new DoubleNaNTest(); nan.setTestBoolean(false); nan.setTestDouble1(Double.NaN);//Double.NaN nan.setTestDouble2(100.0); KieSession ksession = sumKieBaseShort.newKieSession(); ksession.insert(nan);
Expected:
Above rule should not fired in executable model.
Actual result:
Above rule fired in executable model.
- is incorporated by
-
DROOLS-5692 Inaccurate rule execution in executable model in RHDM 7
- Closed