[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