[jboss-svn-commits] JBL Code SVN: r18987 - labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Mar 14 12:20:31 EDT 2008
Author: mingjin
Date: 2008-03-14 12:20:31 -0400 (Fri, 14 Mar 2008)
New Revision: 18987
Modified:
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java
labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java
Log:
added rulebase serialization to with a couple exceptions
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java 2008-03-14 16:17:49 UTC (rev 18986)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java 2008-03-14 16:20:31 UTC (rev 18987)
@@ -1,16 +1,10 @@
package org.drools.integrationtests;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-
import junit.framework.Assert;
import junit.framework.TestCase;
-
import org.drools.Cheese;
import org.drools.FactHandle;
+import org.drools.Message;
import org.drools.Person;
import org.drools.PersonInterface;
import org.drools.RuleBase;
@@ -24,13 +18,11 @@
import org.drools.compiler.DrlParser;
import org.drools.compiler.DroolsParserException;
import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.ProcessBuilder;
import org.drools.compiler.PackageBuilder.PackageMergeException;
import org.drools.event.ActivationCancelledEvent;
import org.drools.event.ActivationCreatedEvent;
import org.drools.event.AgendaEventListener;
import org.drools.event.DefaultAgendaEventListener;
-import org.drools.Message;
import org.drools.lang.descr.PackageDescr;
import org.drools.process.instance.ProcessInstance;
import org.drools.rule.Package;
@@ -38,6 +30,12 @@
import org.drools.spi.ActivationGroup;
import org.drools.spi.AgendaGroup;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.List;
+
public class ExecutionFlowControlTest extends TestCase {
protected RuleBase getRuleBase() throws Exception {
@@ -51,13 +49,79 @@
config );
}
+ public void testRuleFlowConstraintDialects() throws Exception {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addRuleFlow( new InputStreamReader( getClass().getResourceAsStream( "test_ConstraintDialects.rfm" ) ) );
+
+ System.err.print( builder.getErrors() );
+
+ assertEquals( 0, builder.getErrors().getErrors().length );
+
+ RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ ruleBase.addPackage( builder.getPackage() );
+// ruleBase = SerializationHelper.serializeObject(ruleBase);
+
+ StatefulSession session = ruleBase.newStatefulSession();
+ List inList = new ArrayList();
+ List outList = new ArrayList();
+ session.setGlobal( "inList", inList );
+ session.setGlobal( "outList", outList );
+
+ inList.add( 1 );
+ inList.add( 3 );
+ inList.add( 6 );
+ inList.add( 25 );
+
+ FactHandle handle = session.insert( inList );
+ session.startProcess( "ConstraintDialects" );
+ assertEquals( 4, outList.size() );
+ assertEquals( "MVELCodeConstraint was here", outList.get( 0 ));
+ assertEquals( "JavaCodeConstraint was here", outList.get( 1 ));
+ assertEquals( "MVELRuleConstraint was here", outList.get( 2 ));
+ assertEquals( "JavaRuleConstraint was here", outList.get( 3 ));
+
+ outList.clear();
+ inList.remove( new Integer( 1 ) );
+ session.update( handle, inList );
+ session.startProcess( "ConstraintDialects" );
+ assertEquals( 3, outList.size() );
+ assertEquals( "JavaCodeConstraint was here", outList.get( 0 ));
+ assertEquals( "MVELRuleConstraint was here", outList.get( 1 ));
+ assertEquals( "JavaRuleConstraint was here", outList.get( 2 ));
+
+ outList.clear();
+ inList.remove( new Integer( 6 ) );
+ session.update( handle, inList );
+ session.startProcess( "ConstraintDialects" );
+ assertEquals( 2, outList.size() );
+ assertEquals( "JavaCodeConstraint was here", outList.get( 0 ));
+ assertEquals( "JavaRuleConstraint was here", outList.get( 1 ));
+
+ outList.clear();
+ inList.remove( new Integer( 3 ) );
+ session.update( handle, inList );
+ session.startProcess( "ConstraintDialects" );
+ assertEquals( 1, outList.size() );
+ assertEquals( "JavaRuleConstraint was here", outList.get( 0 ));
+
+ outList.clear();
+ inList.remove( new Integer( 25 ) );
+ session.update( handle, inList );
+ try {
+ session.startProcess( "ConstraintDialects" );
+ fail("This should have thrown an exception" );
+ } catch ( Exception e ) {
+ }
+ }
+
public void testSalienceInteger() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_salienceIntegerRule.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -86,8 +150,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_salienceExpressionRule.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -122,8 +187,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "no-loop.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -147,8 +213,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_LockOnActive.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -192,8 +259,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_LockOnActiveWithUpdate.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory wm = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -252,8 +320,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_AgendaGroups.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -298,8 +367,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ActivationGroups.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -351,8 +421,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Duration.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -381,8 +452,9 @@
public void testInsertRetractNoloop() throws Exception {
// read in the source
final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_Insert_Retract_Noloop.drl" ) );
- final RuleBase ruleBase = loadRuleBase( reader );
+ RuleBase ruleBase = loadRuleBase( reader );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory wm = ruleBase.newStatefulSession();
wm.insert( new Cheese( "stilton",
15 ) );
@@ -395,8 +467,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Duration_with_NoLoop.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -426,8 +499,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FireRuleAfterDuration.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -458,8 +532,9 @@
public void testUpdateNoLoop() throws Exception {
// JBRULES-780, throws a NullPointer or infinite loop if there is an issue
final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_UpdateNoloop.drl" ) );
- final RuleBase ruleBase = loadRuleBase( reader );
+ RuleBase ruleBase = loadRuleBase( reader );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory wm = ruleBase.newStatefulSession();
wm.insert( new Cheese( "stilton",
15 ) );
@@ -470,8 +545,9 @@
public void testUpdateActivationCreationNoLoop() throws Exception {
// JBRULES-787, no-loop blocks all dependant tuples for update
final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_UpdateActivationCreationNoLoop.drl" ) );
- final RuleBase ruleBase = loadRuleBase( reader );
+ RuleBase ruleBase = loadRuleBase( reader );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final InternalWorkingMemoryActions wm = (InternalWorkingMemoryActions) ruleBase.newStatefulSession();
final List created = new ArrayList();
final List cancelled = new ArrayList();
@@ -531,8 +607,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "ruleflowgroup.drl" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -556,8 +633,9 @@
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "ruleflow.drl" ) ) );
builder.addRuleFlow( new InputStreamReader( getClass().getResourceAsStream( "ruleflow.rfm" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -591,8 +669,9 @@
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 ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -644,8 +723,9 @@
builder.addRuleFlow( new InputStreamReader( getClass().getResourceAsStream( "ruleflow.rfm" ) ) );
final Package pkg = builder.getPackage();
- final RuleBase ruleBase = getRuleBase();
+ RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
final List list = new ArrayList();
@@ -739,7 +819,8 @@
RuleBase ruleBase = RuleBaseFactory.newRuleBase();
ruleBase.addPackage( builder.getPackage() );
-
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
+
StatefulSession session = ruleBase.newStatefulSession();
List list = new ArrayList();
session.setGlobal( "list", list );
@@ -751,70 +832,6 @@
assertEquals( "java was here", list.get( 1 ) );
}
- public void testRuleFlowConstraintDialects() throws Exception {
- final PackageBuilder builder = new PackageBuilder();
- builder.addRuleFlow( new InputStreamReader( getClass().getResourceAsStream( "test_ConstraintDialects.rfm" ) ) );
-
- System.err.print( builder.getErrors() );
-
- assertEquals( 0, builder.getErrors().getErrors().length );
-
- RuleBase ruleBase = RuleBaseFactory.newRuleBase();
- ruleBase.addPackage( builder.getPackage() );
-
- StatefulSession session = ruleBase.newStatefulSession();
- List inList = new ArrayList();
- List outList = new ArrayList();
- session.setGlobal( "inList", inList );
- session.setGlobal( "outList", outList );
-
- inList.add( 1 );
- inList.add( 3 );
- inList.add( 6 );
- inList.add( 25 );
-
- FactHandle handle = session.insert( inList );
- session.startProcess( "ConstraintDialects" );
- assertEquals( 4, outList.size() );
- assertEquals( "MVELCodeConstraint was here", outList.get( 0 ));
- assertEquals( "JavaCodeConstraint was here", outList.get( 1 ));
- assertEquals( "MVELRuleConstraint was here", outList.get( 2 ));
- assertEquals( "JavaRuleConstraint was here", outList.get( 3 ));
-
- outList.clear();
- inList.remove( new Integer( 1 ) );
- session.update( handle, inList );
- session.startProcess( "ConstraintDialects" );
- assertEquals( 3, outList.size() );
- assertEquals( "JavaCodeConstraint was here", outList.get( 0 ));
- assertEquals( "MVELRuleConstraint was here", outList.get( 1 ));
- assertEquals( "JavaRuleConstraint was here", outList.get( 2 ));
-
- outList.clear();
- inList.remove( new Integer( 6 ) );
- session.update( handle, inList );
- session.startProcess( "ConstraintDialects" );
- assertEquals( 2, outList.size() );
- assertEquals( "JavaCodeConstraint was here", outList.get( 0 ));
- assertEquals( "JavaRuleConstraint was here", outList.get( 1 ));
-
- outList.clear();
- inList.remove( new Integer( 3 ) );
- session.update( handle, inList );
- session.startProcess( "ConstraintDialects" );
- assertEquals( 1, outList.size() );
- assertEquals( "JavaRuleConstraint was here", outList.get( 0 ));
-
- outList.clear();
- inList.remove( new Integer( 25 ) );
- session.update( handle, inList );
- try {
- session.startProcess( "ConstraintDialects" );
- fail("This should have thrown an exception" );
- } catch ( Exception e ) {
- }
- }
-
public void testLoadingRuleFlowInPackage7() throws Exception {
// loading a ruleflow with errors
final PackageBuilder builder = new PackageBuilder();
@@ -845,7 +862,8 @@
public void testDateEffective() throws Exception {
// read in the source
final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_EffectiveDate.drl" ) );
- final RuleBase ruleBase = loadRuleBase( reader );
+ RuleBase ruleBase = loadRuleBase( reader );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java 2008-03-14 16:17:49 UTC (rev 18986)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java 2008-03-14 16:20:31 UTC (rev 18987)
@@ -17,12 +17,8 @@
*/
package org.drools.integrationtests;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-
+import junit.framework.Assert;
+import junit.framework.TestCase;
import org.drools.ClockType;
import org.drools.EntryPointInterface;
import org.drools.RuleBase;
@@ -37,8 +33,11 @@
import org.drools.lang.descr.PackageDescr;
import org.drools.rule.Package;
-import junit.framework.Assert;
-import junit.framework.TestCase;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.List;
/**
* Tests related to the stream support features
@@ -91,6 +90,7 @@
final RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
// load up the rulebase
+// return SerializationHelper.serializeObject(ruleBase);
return ruleBase;
}
More information about the jboss-svn-commits
mailing list