[jboss-svn-commits] JBL Code SVN: r5486 - in labs/jbossrules/trunk/drools-compiler/src/test: java/org/drools/integrationtests resources/org/drools/integrationtests
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Aug 4 20:24:23 EDT 2006
Author: mark.proctor at jboss.com
Date: 2006-08-04 20:24:20 -0400 (Fri, 04 Aug 2006)
New Revision: 5486
Added:
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_FactTemplate.drl
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
Log:
JBRULES-328 FactTemplates
-initial unit test
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-08-05 00:14:49 UTC (rev 5485)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-08-05 00:24:20 UTC (rev 5486)
@@ -64,6 +64,8 @@
import org.drools.event.AgendaEventListener;
import org.drools.event.BeforeActivationFiredEvent;
import org.drools.event.DefaultAgendaEventListener;
+import org.drools.facttemplates.Fact;
+import org.drools.facttemplates.FactTemplate;
import org.drools.integrationtests.helloworld.Message;
import org.drools.lang.DrlDumper;
import org.drools.lang.descr.PackageDescr;
@@ -242,27 +244,6 @@
ruleBase.addPackage( pkg );
final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
- final AgendaEventListener listener = new DefaultAgendaEventListener() {
-
- public void activationCreated(ActivationCreatedEvent event) {
- System.out.println( event );
- }
-
- public void activationCancelled(ActivationCancelledEvent event) {
- System.out.println( event );
- }
-
- public void beforeActivationFired(BeforeActivationFiredEvent event) {
- System.out.println( event );
- }
-
- public void afterActivationFired(AfterActivationFiredEvent event) {
- System.out.println( event );
- }
- };
-
- workingMemory.addEventListener( listener );
-
final List list = new ArrayList();
workingMemory.setGlobal( "list",
list );
@@ -300,7 +281,32 @@
assertEquals( bill,
list.get( 0 ) );
}
+
+ public void testFactTemplate() throws Exception {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FactTemplate.drl" ) ) );
+ final Package pkg = builder.getPackage();
+ final RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage( pkg );
+ final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
+
+ final List list = new ArrayList();
+ workingMemory.setGlobal( "list",
+ list );
+
+ FactTemplate cheese = pkg.getFactTemplate( "Cheese" );
+ Fact stilton = cheese.createFact( 0 );
+ stilton.setFieldValue( "name", "stilton" );
+ stilton.setFieldValue( "price", new Integer( 100 ) );
+ workingMemory.assertObject( stilton );
+ workingMemory.fireAllRules();
+
+ assertEquals( 1, list.size() );
+ assertEquals( stilton, list.get( 0 ) );
+
+ }
+
public void testPropertyChangeSupport() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_PropertyChange.drl" ) ) );
Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_FactTemplate.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_FactTemplate.drl 2006-08-05 00:14:49 UTC (rev 5485)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_FactTemplate.drl 2006-08-05 00:24:20 UTC (rev 5486)
@@ -0,0 +1,18 @@
+package org.drools.integrationtest
+
+import java.util.List
+
+global List list
+
+template Cheese
+ String name
+ Integer price
+end
+
+rule "Match Stilton"
+ when
+ $stilton : Cheese( name == "stilton" )
+ then
+ $stilton.setFieldValue( "price", new Integer( 200 ) );
+ list.add( $stilton );
+end
\ No newline at end of file
More information about the jboss-svn-commits
mailing list