[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