[jboss-svn-commits] JBL Code SVN: r12980 - in labs/jbossrules/trunk/drools-compiler/src/test: java/org/drools/integrationtests/sequential and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Jul 1 18:42:36 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-07-01 18:42:36 -0400 (Sun, 01 Jul 2007)
New Revision: 12980

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/sequential/
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/sequential/SequentialTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/sequential/
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/sequential/simpleSequential.drl
Log:
JBRULES-947 sequential rete
-Initial sequential implementation

Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/sequential/SequentialTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/sequential/SequentialTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/sequential/SequentialTest.java	2007-07-01 22:42:36 UTC (rev 12980)
@@ -0,0 +1,68 @@
+package org.drools.integrationtests.sequential;
+
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.Cheese;
+import org.drools.Person;
+import org.drools.PersonInterface;
+import org.drools.RuleBase;
+import org.drools.RuleBaseConfiguration;
+import org.drools.RuleBaseFactory;
+import org.drools.StatelessSession;
+import org.drools.WorkingMemory;
+import org.drools.compiler.PackageBuilder;
+import org.drools.rule.Package;
+
+import junit.framework.TestCase;
+
+public class SequentialTest extends TestCase {
+    public void test1() throws Exception {
+
+        // postponed while I sort out KnowledgeHelperFixer
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "simpleSequential.drl" ) ) );
+        final Package pkg = builder.getPackage();
+
+        RuleBaseConfiguration conf = new RuleBaseConfiguration();
+        conf.setSequential( true );
+        final RuleBase ruleBase = getRuleBase( conf );
+        ruleBase.addPackage( pkg );
+        final StatelessSession session = ruleBase.newStatelessSession();
+
+        final List list = new ArrayList();
+        session.setGlobal( "list",
+                           list );
+
+        final Person p1 = new Person( "p1",
+                                      "stilton" );
+        final Person p2 = new Person( "p2",
+                                      "cheddar" );
+        final Person p3 = new Person( "p3",
+                                      "stilton" );
+
+        final Cheese stilton = new Cheese( "stilton",
+                                           15 );
+        final Cheese cheddar = new Cheese( "cheddar",
+                                           15 );
+
+        session.execute( new Object[]{p1, stilton, p2, cheddar, p3} );
+
+        assertEquals( 3,
+                      list.size() );
+
+    }
+
+    protected RuleBase getRuleBase() throws Exception {
+
+        return RuleBaseFactory.newRuleBase( RuleBase.RETEOO,
+                                            null );
+    }
+
+    protected RuleBase getRuleBase(final RuleBaseConfiguration config) throws Exception {
+
+        return RuleBaseFactory.newRuleBase( RuleBase.RETEOO,
+                                            config );
+    }
+}

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/sequential/simpleSequential.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/sequential/simpleSequential.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/sequential/simpleSequential.drl	2007-07-01 22:42:36 UTC (rev 12980)
@@ -0,0 +1,26 @@
+#created on: 27-Jun-2007
+package org.drools.test
+
+#list any import classes here.
+import org.drools.Cheese;
+import org.drools.Person;
+import org.drools.Cheesery;
+
+global java.util.List list;
+
+rule "Your First Rule"	
+	when
+		$c : Cheese( type == "stilton" )
+		$p : Person( likes == $c.type )
+	then 
+		list.add( $p );
+end
+
+rule "Your Second Rule"
+	when
+		$c : Cheese( type == "cheddar" )
+		$p : Person( likes == $c.type )
+	then 
+		list.add( $p );
+		
+end




More information about the jboss-svn-commits mailing list