[jboss-svn-commits] JBL Code SVN: r12911 - labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jun 28 04:36:44 EDT 2007
Author: mark.proctor at jboss.com
Date: 2007-06-28 04:36:43 -0400 (Thu, 28 Jun 2007)
New Revision: 12911
Added:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatelessSessionTest.java
Log:
JBRULES-957 Async method calls don't work
-async method calls now work
-added stateless method call tests
Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatelessSessionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatelessSessionTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatelessSessionTest.java 2007-06-28 08:36:43 UTC (rev 12911)
@@ -0,0 +1,128 @@
+package org.drools.integrationtests;
+
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.Cheese;
+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 StatelessSessionTest extends TestCase {
+ final List list = new ArrayList();
+
+ 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 );
+ }
+
+ public void testSingleObjectAssert() throws Exception {
+ StatelessSession session = getSession();
+
+ final Cheese stilton = new Cheese( "stilton",
+ 5 );
+
+ session.execute( stilton );
+
+ assertEquals( "stilton",
+ list.get( 0 ) );
+ }
+
+ public void testArrayObjectAssert() throws Exception {
+ StatelessSession session = getSession();
+
+ final Cheese stilton = new Cheese( "stilton",
+ 5 );
+
+ session.execute( new Object[] { stilton } );
+
+ assertEquals( "stilton",
+ list.get( 0 ) );
+ }
+
+ public void testCollectionObjectAssert() throws Exception {
+ StatelessSession session = getSession();
+
+ final Cheese stilton = new Cheese( "stilton",
+ 5 );
+
+ List collection = new ArrayList();
+ collection.add( stilton );
+ session.execute( collection );
+
+ assertEquals( "stilton",
+ list.get( 0 ) );
+ }
+
+ public void testAsynSingleOjbectcAssert() throws Exception {
+ StatelessSession session = getSession();
+
+ final Cheese stilton = new Cheese( "stilton",
+ 5 );
+
+ session.asyncExecute( stilton );
+
+ Thread.sleep( 100 );
+
+ assertEquals( "stilton",
+ list.get( 0 ) );
+ }
+
+ public void testAsynArrayOjbectcAssert() throws Exception {
+ StatelessSession session = getSession();
+
+ final Cheese stilton = new Cheese( "stilton",
+ 5 );
+
+ session.asyncExecute( new Object[] { stilton } );
+
+ Thread.sleep( 100 );
+
+ assertEquals( "stilton",
+ list.get( 0 ) );
+ }
+
+ public void testAsynCollectionOjbectcAssert() throws Exception {
+ StatelessSession session = getSession();
+
+ final Cheese stilton = new Cheese( "stilton",
+ 5 );
+
+ List collection = new ArrayList();
+ collection.add( stilton );
+ session.execute( collection );
+
+ Thread.sleep( 100 );
+
+ assertEquals( "stilton",
+ list.get( 0 ) );
+ }
+
+ private StatelessSession getSession() throws Exception {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "literal_rule_test.drl" ) ) );
+ final Package pkg = builder.getPackage();
+
+ final RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage( pkg );
+ final StatelessSession session = ruleBase.newStatelessSession();
+
+ session.setGlobal( "list",
+ this.list );
+ return session;
+ }
+}
More information about the jboss-svn-commits
mailing list