[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