[jboss-svn-commits] JBL Code SVN: r13667 - labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/java/org/drools/integrationtests.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jul 20 05:42:39 EDT 2007
Author: pombredanne
Date: 2007-07-20 05:42:38 -0400 (Fri, 20 Jul 2007)
New Revision: 13667
Modified:
labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java
Log:
Ported from trunk to branch mvel-tooling-2007-06-30. for a change that did not make in the last merge. weird.
Modified: labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java
===================================================================
--- labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java 2007-07-20 09:19:22 UTC (rev 13666)
+++ labs/jbossrules/branches/mvel-tooling-2007-06-30/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java 2007-07-20 09:42:38 UTC (rev 13667)
@@ -552,7 +552,7 @@
public void testRuleFlow() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "ruleflow.drl" ) ) );
- builder.addRuleFlow( new InputStreamReader( getClass().getResourceAsStream( "ruleflow.rf" ) ) );
+ builder.addRuleFlow( new InputStreamReader( getClass().getResourceAsStream( "ruleflow.rfm" ) ) );
final Package pkg = builder.getPackage();
final RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
@@ -584,10 +584,62 @@
processInstance.getState() );
}
+ public void testRuleFlowClear() throws Exception {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ruleflowClear.drl" ) ) );
+ builder.addRuleFlow( new InputStreamReader( getClass().getResourceAsStream( "test_ruleflowClear.rfm" ) ) );
+ final Package pkg = builder.getPackage();
+ final RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage( pkg );
+
+ final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ final List list = new ArrayList();
+ workingMemory.setGlobal( "list",
+ list );
+
+ final List activations = new ArrayList();
+ AgendaEventListener listener = new DefaultAgendaEventListener() {
+ public void activationCancelled(ActivationCancelledEvent event,
+ WorkingMemory workingMemory) {
+ activations.add( event.getActivation() );
+ }
+ };
+
+ workingMemory.addEventListener( listener );
+
+ assertEquals( 0 , workingMemory.getAgenda().getRuleFlowGroup( "flowgroup-1" ).size() );
+
+ // We need to call fireAllRules here to get the InitialFact into the system, to the eval(true)'s kick in
+ workingMemory.fireAllRules();
+
+ // Now we have 4 in the RuleFlow, but not yet in the agenda
+ assertEquals( 4 , workingMemory.getAgenda().getRuleFlowGroup( "flowgroup-1" ).size() );
+
+ // Check they aren't in the Agenda
+ assertEquals( 0, workingMemory.getAgenda().getAgendaGroup( "MAIN" ).size() );
+
+ // Start the process, which shoudl populate the Agenda
+ final ProcessInstance processInstance = workingMemory.startProcess( "ruleFlowClear" );
+ assertEquals( 4, workingMemory.getAgenda().getAgendaGroup( "MAIN" ).size() );
+
+
+ // Check we have 0 activation cancellation events
+ assertEquals( 0, activations.size() );
+
+ workingMemory.getAgenda().clearRuleFlowGroup( "flowgroup-1" );
+
+ // Check the AgendaGroup and RuleFlowGroup are now empty
+ assertEquals( 0, workingMemory.getAgenda().getAgendaGroup( "MAIN" ).size() );
+ assertEquals( 0 , workingMemory.getAgenda().getRuleFlowGroup( "flowgroup-1" ).size() );
+
+ // Check we have four activation cancellation events
+ assertEquals( 4, activations.size() );
+ }
+
public void testRuleFlowInPackage() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "ruleflow.drl" ) ) );
- builder.addRuleFlow( new InputStreamReader( getClass().getResourceAsStream( "ruleflow.rf" ) ) );
+ builder.addRuleFlow( new InputStreamReader( getClass().getResourceAsStream( "ruleflow.rfm" ) ) );
final Package pkg = builder.getPackage();
final RuleBase ruleBase = getRuleBase();
More information about the jboss-svn-commits
mailing list