[jboss-svn-commits] JBL Code SVN: r11110 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools/lang/dsl and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Apr 19 02:41:05 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-04-19 02:41:05 -0400 (Thu, 19 Apr 2007)
New Revision: 11110

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/Expander.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/ExpanderException.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/dsl/DefaultExpanderTest.java
Log:
more tests for expander stuff

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/Expander.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/Expander.java	2007-04-19 06:20:07 UTC (rev 11109)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/Expander.java	2007-04-19 06:41:05 UTC (rev 11110)
@@ -74,7 +74,7 @@
 
     /**
      * Returns the list of errors from the last expansion made
-     * @return
+     * @return A list of <code>ExpanderException</code>
      */
     public List getErrors();
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/ExpanderException.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/ExpanderException.java	2007-04-19 06:20:07 UTC (rev 11109)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/ExpanderException.java	2007-04-19 06:41:05 UTC (rev 11110)
@@ -37,5 +37,9 @@
     public String getMessage() {
         return "[" + this.line + "] " + this.message;
     }
+    
+    public int getLine() {
+        return this.line;
+    }
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/dsl/DefaultExpanderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/dsl/DefaultExpanderTest.java	2007-04-19 06:20:07 UTC (rev 11109)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/dsl/DefaultExpanderTest.java	2007-04-19 06:41:05 UTC (rev 11110)
@@ -2,7 +2,12 @@
 
 import java.io.InputStreamReader;
 import java.io.Reader;
+import java.io.StringReader;
+import java.util.List;
 
+import org.drools.lang.ExpanderException;
+import org.drools.lang.dsl.DSLMappingEntry.Section;
+
 import junit.framework.TestCase;
 
 public class DefaultExpanderTest extends TestCase {
@@ -35,4 +40,45 @@
         final Reader rules = new InputStreamReader( this.getClass().getResourceAsStream( "test_expansion.drl" ) );
         final String result = this.expander.expand( rules );
     }
+
+    public void FIXME_testExpandFailure() throws Exception {
+
+        DSLMappingFile file = new DSLMappingFile();
+        String dsl = "[when]foo=Foo()\n[then]bar {num}=baz({num});";
+        file.parseAndLoad( new StringReader( dsl ) );
+        assertEquals( 0, file.getErrors().size() );
+
+        DefaultExpander ex = new DefaultExpander();
+        ex.addDSLMapping( file.getMapping() );
+        String source = "rule 'q'\nagenda-group 'x'\nwhen\n    foo  \nthen\n    bar 42\nend";
+        String drl = ex.expand( source );
+        assertFalse( ex.hasErrors() );
+
+        ex = new DefaultExpander();
+        ex.addDSLMapping( file.getMapping() );
+
+        source = "rule 'q' agenda-group 'x'\nwhen\n    foos \nthen\n    bar 42\n end";
+        drl = ex.expand( source );
+        System.out.println( drl );
+        assertTrue( ex.hasErrors() );
+        assertEquals( 1, ex.getErrors().size() );
+        System.err.println(( (ExpanderException) ex.getErrors().get( 0 )).getMessage());
+
+    }
+    
+    public void FIXME_testLineNumberError() throws Exception {
+        DSLMappingFile file = new DSLMappingFile();
+        String dsl = "[when]foo=Foo()\n[then]bar {num}=baz({num});";
+        file.parseAndLoad( new StringReader( dsl ) );
+        
+        DefaultExpander ex = new DefaultExpander();
+        ex.addDSLMapping( file.getMapping() );
+        String source = "rule 'q'\nagenda-group 'x'\nwhen\n    __  \nthen\n    bar 42\nend";
+        ex.expand( source );
+        assertTrue( ex.hasErrors() );
+        assertEquals(1, ex.getErrors().size());
+        ExpanderException err = (ExpanderException) ex.getErrors().get( 0 );
+        assertEquals(4, err.getLine());
+        
+    }
 }




More information about the jboss-svn-commits mailing list