[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