[jboss-svn-commits] JBL Code SVN: r5450 - labs/jbossrules/trunk/drools-core/src/test/java/org/drools/facttemplates

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Aug 3 14:51:21 EDT 2006


Author: mark.proctor at jboss.com
Date: 2006-08-03 14:51:20 -0400 (Thu, 03 Aug 2006)
New Revision: 5450

Modified:
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/facttemplates/TestFactTemplateFieldExtractor.java
Log:
JBRULES-328 FactTemplates
-added unit tests for FactTemplate

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/facttemplates/TestFactTemplateFieldExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/facttemplates/TestFactTemplateFieldExtractor.java	2006-08-03 17:33:13 UTC (rev 5449)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/facttemplates/TestFactTemplateFieldExtractor.java	2006-08-03 18:51:20 UTC (rev 5450)
@@ -1,11 +1,13 @@
 package org.drools.facttemplates;
 
+import org.drools.Cheese;
+import org.drools.rule.Declaration;
 import org.drools.spi.Extractor;
 
 import junit.framework.TestCase;
 
 public class TestFactTemplateFieldExtractor extends TestCase {
-    public void test1() {
+    public void testExtractor() {
         FieldTemplate cheeseName = new FieldTemplateImpl( "name",
                                                           0,
                                                           String.class );
@@ -46,4 +48,34 @@
         assertEquals( new Integer( 55 ),
                       extractPrice.getValue( brie ) );
     }
+    
+    public void testDeclaration() {
+        FieldTemplate cheeseName = new FieldTemplateImpl( "name",
+                                                          0,
+                                                          String.class );
+        FieldTemplate cheesePrice = new FieldTemplateImpl( "price",
+                                                           1,
+                                                           Integer.class );
+        FieldTemplate[] fields = new FieldTemplate[]{cheeseName, cheesePrice};
+        FactTemplate cheese = new FactTemplateImpl( "org.store",
+                                                    "Cheese",
+                                                    fields );
+        
+        Extractor extractName = new FactTemplateFieldExtractor( cheese,
+                                                                0 );        
+        
+        final Declaration declaration = new Declaration( "typeOfCheese",
+                                                         extractName,
+                                                         0 );
+
+        Fact brie = cheese.createFact( 12 );
+        brie.setFieldValue( "name",
+                            "brie" );
+        brie.setFieldValue( "price",
+                            new Integer( 55 ) );
+
+        /* Check we can extract Declarations correctly */
+        assertEquals( "brie",
+                      declaration.getValue( brie ) );        
+    }
 }




More information about the jboss-svn-commits mailing list