[jboss-svn-commits] JBL Code SVN: r22576 - 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
Wed Sep 10 10:00:44 EDT 2008


Author: KrisVerlaenen
Date: 2008-09-10 10:00:44 -0400 (Wed, 10 Sep 2008)
New Revision: 22576

Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java
Log:
Added failing accumulate tests

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java	2008-09-10 13:56:00 UTC (rev 22575)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java	2008-09-10 14:00:44 UTC (rev 22576)
@@ -22,6 +22,7 @@
 import org.drools.FactA;
 import org.drools.FactB;
 import org.drools.FactC;
+import org.drools.Message;
 import org.drools.Person;
 import org.drools.Primitives;
 import org.drools.RuleBase;
@@ -30,7 +31,6 @@
 import org.drools.StatefulSession;
 import org.drools.WorkingMemory;
 import org.drools.base.ClassObjectType;
-import org.drools.base.MapGlobalResolver;
 import org.drools.common.BaseNode;
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalRuleBase;
@@ -39,6 +39,7 @@
 import org.drools.marshalling.DefaultMarshaller;
 import org.drools.marshalling.Marshaller;
 import org.drools.marshalling.RuleBaseNodes;
+import org.drools.process.instance.ProcessInstance;
 import org.drools.reteoo.ObjectTypeNode;
 import org.drools.reteoo.RuleTerminalNode;
 import org.drools.rule.MapBackedClassLoader;
@@ -1907,9 +1908,67 @@
                       list.get( 2 ) );
     }
     
-    
-    protected RuleBase getRuleBase() throws Exception {
+	public void testAccumulate() throws Exception {
+		PackageBuilder builder = new PackageBuilder();
+		Reader source = new StringReader(
+			"package org.drools\n" +
+			"\n" +
+			"import org.drools.Message\n" +
+			"\n" +
+			"rule MyRule\n" +
+			"  when\n" +
+			"    Number( intValue >= 5 ) from accumulate ( m: Message( ), count( m ) )\n" +
+			"  then\n" +
+			"    System.out.println(\"Found messages\");\n" +
+			"end");
+		builder.addPackageFromDrl(source);
+		Package pkg = builder.getPackage();
+		RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+		ruleBase.addPackage( pkg );
+		StatefulSession session = ruleBase.newStatefulSession();
+        
+		session.insert(new Message());
+		session = getSerialisedStatefulSession( session );
+		session.insert(new Message());
+		session.insert(new Message());
+		session.insert(new Message());
+		session.insert(new Message());
+		
+        assertEquals(1, session.getAgenda().getActivations().length);
+	}
 
+	public void testAccumulate2() throws Exception {
+		PackageBuilder builder = new PackageBuilder();
+		Reader source = new StringReader(
+			"package org.drools\n" +
+			"\n" +
+			"import org.drools.Message\n" +
+			"\n" +
+			"rule MyRule\n" +
+			"  when\n" +
+			"    Number( intValue >= 5 ) from accumulate ( m: Message( ), count( m ) )\n" +
+			"  then\n" +
+			"    System.out.println(\"Found messages\");\n" +
+			"end");
+		builder.addPackageFromDrl(source);
+		Package pkg = builder.getPackage();
+		RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+		ruleBase.addPackage( pkg );
+		StatefulSession session = ruleBase.newStatefulSession();
+        session.fireAllRules();
+        
+        session = getSerialisedStatefulSession( session );
+		session.insert(new Message());
+		session.insert(new Message());
+		session.insert(new Message());
+		session.insert(new Message());
+		session.insert(new Message());
+		
+        assertEquals(1, session.getAgenda().getActivations().length);
+	}
+
+	protected RuleBase getRuleBase() throws Exception {
+
         return RuleBaseFactory.newRuleBase( RuleBase.RETEOO,
                                             null );
     }




More information about the jboss-svn-commits mailing list