[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