[jboss-svn-commits] JBL Code SVN: r25554 - labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/builder.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Mar 9 10:10:30 EDT 2009


Author: tirelli
Date: 2009-03-09 10:10:30 -0400 (Mon, 09 Mar 2009)
New Revision: 25554

Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/builder/KnowledgeBuilderConfigurationTest.java
Log:
JBRULES-1922: adding configuration test for inner classes

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/builder/KnowledgeBuilderConfigurationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/builder/KnowledgeBuilderConfigurationTest.java	2009-03-09 13:29:16 UTC (rev 25553)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/builder/KnowledgeBuilderConfigurationTest.java	2009-03-09 14:10:30 UTC (rev 25554)
@@ -17,6 +17,7 @@
 package org.drools.builder;
 
 import java.io.File;
+import java.io.Serializable;
 
 import junit.framework.TestCase;
 
@@ -115,6 +116,23 @@
         // checking the string based getProperty() method
         assertEquals( MaxAccumulateFunction.class.getName(),
                       config.getProperty( AccumulateFunctionOption.PROPERTY_NAME+"maximum" ) );
+        
+        // wiring the inner class accumulate function using the string based setProperty() method
+        config.setProperty( AccumulateFunctionOption.PROPERTY_NAME+"inner",
+                            InnerAccumulateFuncion.class.getName() );
+        
+        InnerAccumulateFuncion inner = new InnerAccumulateFuncion();
+        // checking the type safe getOption() method
+        assertEquals( AccumulateFunctionOption.get( "inner", inner ),
+                      config.getOption( AccumulateFunctionOption.class, "inner" ) );
+        // checking string conversion
+        assertEquals( "inner",
+                      config.getOption( AccumulateFunctionOption.class, "inner" ).getName() );
+        assertEquals( inner.getClass().getName(),
+                      config.getOption( AccumulateFunctionOption.class, "inner" ).getFunction().getClass().getName() );
+        // checking the string based getProperty() method
+        assertEquals( InnerAccumulateFuncion.class.getName(),
+                      config.getProperty( AccumulateFunctionOption.PROPERTY_NAME+"inner" ) );
     }
     
     public void testDumpDirectoryConfiguration() {
@@ -211,7 +229,31 @@
         assertEquals( "false",
                       config.getProperty( ProcessStringEscapesOption.PROPERTY_NAME ) );
     }
-    
-    
 
+    /**
+     * an accumulate function implemented as an inner class
+     * @author admin
+     *
+     */
+    public static class InnerAccumulateFuncion implements AccumulateFunction {
+
+        public void accumulate(Serializable context,
+                               Object value) {
+        }
+        public Serializable createContext() {
+            return null;
+        }
+        public Object getResult(Serializable context) throws Exception {
+            return null;
+        }
+        public void init(Serializable context) throws Exception {
+        }
+        public void reverse(Serializable context,
+                            Object value) throws Exception {
+        }
+        public boolean supportsReverse() {
+            return false;
+        }
+    }
+
 }




More information about the jboss-svn-commits mailing list