[jboss-svn-commits] JBL Code SVN: r13922 - labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jul 31 19:34:31 EDT 2007
Author: mark.proctor at jboss.com
Date: 2007-07-31 19:34:31 -0400 (Tue, 31 Jul 2007)
New Revision: 13922
Modified:
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java
Log:
JBRULES-1049 WorkingMemory.iterateFactHandles() generates endless loop with 4.0GA.
-Added iteration test, but doesn't make anything fail.
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java 2007-07-31 23:20:31 UTC (rev 13921)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java 2007-07-31 23:34:31 UTC (rev 13922)
@@ -1,16 +1,22 @@
package org.drools.reteoo;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.Map;
import junit.framework.TestCase;
+import org.drools.Cheese;
import org.drools.FactHandle;
+import org.drools.Person;
+import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
+import org.drools.StatefulSession;
import org.drools.base.MapGlobalResolver;
import org.drools.common.EqualityKey;
import org.drools.common.InternalWorkingMemory;
import org.drools.common.TruthMaintenanceSystem;
+import org.drools.examples.manners.Guest;
import org.drools.spi.GlobalResolver;
public class ReteooWorkingMemoryTest extends TestCase {
@@ -85,4 +91,32 @@
assertEquals( "value2",
workingMemory.getGlobal( "global2" ) );
}
+
+ public void testObjectIterator() {
+ final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ final StatefulSession session = ruleBase.newStatefulSession();
+
+ session.insert( new Person( "bob", 35) );
+ session.insert( new Cheese( "stilton", 35) );
+ session.insert( new Cheese( "brie", 35) );
+ session.insert( new Person( "steve", 55) );
+ session.insert( new Person( "tom", 100) );
+
+ int i = 0;
+ for ( Iterator it = session.iterateFactHandles(); it.hasNext(); ) {
+ Object object = it.next();
+ if ( i++ > 5 ) {
+ fail( "should not iterate for than 3 times" );
+ }
+ }
+
+ i = 0;
+ for ( Iterator it = session.iterateObjects(); it.hasNext(); ) {
+ Object object = it.next();
+ if ( i++ > 5 ) {
+ fail( "should not iterate for than 3 times" );
+ }
+ }
+
+ }
}
More information about the jboss-svn-commits
mailing list