[jboss-svn-commits] JBL Code SVN: r14334 - in labs/jbossrules/trunk/drools-compiler/src/test: resources/org/drools/lang and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Aug 17 10:30:17 EDT 2007
Author: tirelli
Date: 2007-08-17 10:30:16 -0400 (Fri, 17 Aug 2007)
New Revision: 14334
Added:
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/or_ce.drl
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
Log:
JBRULES-1047: adding parser unit test
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java 2007-08-17 11:14:45 UTC (rev 14333)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java 2007-08-17 14:30:16 UTC (rev 14334)
@@ -2171,10 +2171,9 @@
public void testPackageGarbage() throws Exception {
parseResource( "package_garbage.drl" ).compilation_unit();
- assertTrue(this.parser.hasErrors());
+ assertTrue( this.parser.hasErrors() );
}
-
public void testPackageAttributes() throws Exception {
parseResource( "package_attributes.drl" ).compilation_unit();
assertFalse( this.parser.getErrorMessages().toString(),
@@ -2195,9 +2194,9 @@
assertEquals( 2,
pkg.getRules().size() );
- assertEquals(2, pkg.getImports().size() );
+ assertEquals( 2,
+ pkg.getImports().size() );
-
RuleDescr rule = (RuleDescr) pkg.getRules().get( 0 );
assertEquals( "bar",
rule.getName() );
@@ -3376,6 +3375,41 @@
restr.getText() );
}
+ public void testOrCE() throws Exception {
+ final DRLParser parser = parseResource( "or_ce.drl" );
+ parser.compilation_unit();
+
+ assertFalse( parser.getErrorMessages().toString(),
+ parser.hasErrors() );
+
+ final PackageDescr pack = parser.getPackageDescr();
+ assertEquals( 1,
+ pack.getRules().size() );
+ final RuleDescr rule = (RuleDescr) pack.getRules().get( 0 );
+ assertEquals( 2,
+ rule.getLhs().getDescrs().size() );
+
+ final PatternDescr person = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
+ assertEquals( "Person",
+ person.getObjectType() );
+ assertEquals( "$p",
+ person.getIdentifier() );
+
+ final OrDescr or = (OrDescr) rule.getLhs().getDescrs().get( 1 );
+ assertEquals( 2,
+ or.getDescrs().size() );
+
+ final PatternDescr cheese1 = (PatternDescr) or.getDescrs().get( 0 );
+ assertEquals( "Cheese",
+ cheese1.getObjectType() );
+ assertEquals( "$c",
+ cheese1.getIdentifier() );
+ final PatternDescr cheese2 = (PatternDescr) or.getDescrs().get( 1 );
+ assertEquals( "Cheese",
+ cheese2.getObjectType() );
+ assertNull( cheese2.getIdentifier() );
+ }
+
private DRLParser parse(final String text) throws Exception {
this.parser = newParser( newTokenStream( newLexer( newCharStream( text ) ) ) );
return this.parser;
Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/or_ce.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/or_ce.drl (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/or_ce.drl 2007-08-17 14:30:16 UTC (rev 14334)
@@ -0,0 +1,9 @@
+package org.drools;
+
+rule "testing OR CE"
+when
+ $p : Person( name == "bob" )
+ $c : Cheese( type == $p.likes ) || Cheese( price == 10 )
+then
+ // do something
+end
\ No newline at end of file
More information about the jboss-svn-commits
mailing list