[jboss-svn-commits] JBL Code SVN: r14368 - labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/clp.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Aug 19 11:22:05 EDT 2007
Author: tirelli
Date: 2007-08-19 11:22:05 -0400 (Sun, 19 Aug 2007)
New Revision: 14368
Modified:
labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/clp/LhsClpParserTest.java
Log:
fixing parser test
Modified: labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/clp/LhsClpParserTest.java
===================================================================
--- labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/clp/LhsClpParserTest.java 2007-08-19 11:54:38 UTC (rev 14367)
+++ labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/clp/LhsClpParserTest.java 2007-08-19 15:22:05 UTC (rev 14368)
@@ -55,6 +55,18 @@
}
public void testPatternsRule() throws Exception {
+ // the first pattern bellowshould generate a descriptor tree like that:
+ //
+ // FC[person name]
+ // |
+ // OR
+ // +----------|------------+
+ // AND LR RVR
+ // / \
+ // LR VR
+
+ // MARK: is it valid to add a predicate restriction as part of a field constraint? I mean, shouldn't
+ // the predicate be out of the (name ...) scope?
RuleDescr rule = parse( "(defrule xxx ?b <- (person (name \"yyy\"&?bf|~\"zzz\"|~=(+ 2 3)&:(< 1 2)) ) ?c <- (hobby (type ?bf2&~iii) (rating fivestar) ) => )" ).defrule();
assertEquals( "xxx",
@@ -76,45 +88,42 @@
assertEquals( 2,
colList.size() );
FieldConstraintDescr fieldConstraintDescr = (FieldConstraintDescr) colList.get( 0 );
- List restrictionList = fieldConstraintDescr.getRestrictions();
-
assertEquals( "name",
fieldConstraintDescr.getFieldName() );
// @todo the 7th one has no constraint, as its a predicate, have to figure out how to handle this
- assertEquals( 8,
+ assertEquals( RestrictionConnectiveDescr.OR,
+ fieldConstraintDescr.getRestriction().getConnective() );
+
+ List restrictionList = fieldConstraintDescr.getRestrictions();
+
+ assertEquals( 3,
restrictionList.size() );
- LiteralRestrictionDescr litDescr = (LiteralRestrictionDescr) restrictionList.get( 0 );
+ RestrictionConnectiveDescr andRestr = (RestrictionConnectiveDescr) restrictionList.get( 0 );
+ assertEquals( RestrictionConnectiveDescr.AND,
+ andRestr.getConnective() );
+ assertEquals( 2,
+ andRestr.getRestrictions().size() );
+
+ LiteralRestrictionDescr litDescr = (LiteralRestrictionDescr) andRestr.getRestrictions().get( 0 );
assertEquals( "==",
litDescr.getEvaluator() );
assertEquals( "yyy",
litDescr.getText() );
- RestrictionConnectiveDescr connDescr = (RestrictionConnectiveDescr) restrictionList.get( 1 );
- assertEquals( RestrictionConnectiveDescr.AND,
- connDescr.getConnective() );
-
- VariableRestrictionDescr varDescr = (VariableRestrictionDescr) restrictionList.get( 2 );
+ VariableRestrictionDescr varDescr = (VariableRestrictionDescr) restrictionList.get( 1 );
assertEquals( "==",
varDescr.getEvaluator() );
assertEquals( "?bf",
varDescr.getIdentifier() );
- connDescr = (RestrictionConnectiveDescr) restrictionList.get( 3 );
- assertEquals( RestrictionConnectiveDescr.OR,
- connDescr.getConnective() );
-
- litDescr = (LiteralRestrictionDescr) restrictionList.get( 4 );
+ litDescr = (LiteralRestrictionDescr) restrictionList.get( 1 );
assertEquals( "!=",
litDescr.getEvaluator() );
assertEquals( "zzz",
litDescr.getText() );
- connDescr = (RestrictionConnectiveDescr) restrictionList.get( 5 );
- assertEquals( RestrictionConnectiveDescr.OR,
- connDescr.getConnective() );
-
- ReturnValueRestrictionDescr retDescr = (ReturnValueRestrictionDescr) restrictionList.get( 6 );
+ ReturnValueRestrictionDescr retDescr = (ReturnValueRestrictionDescr) restrictionList.get( 2 );
assertEquals( "!=",
retDescr.getEvaluator() );
CLPReturnValue clprv = ( CLPReturnValue ) retDescr.getContent();
@@ -123,6 +132,8 @@
assertEquals( new LongValueHandler( 2 ), fc.getParameters()[0] );
assertEquals( new LongValueHandler( 3 ), fc.getParameters()[1] );
+ // ----------------
+ // TIRELLI NOTE's: not sure what to do with the predicate bellow
PredicateDescr predicateDescr = (PredicateDescr) colList.get( 1 );
CLPPredicate clpp = ( CLPPredicate ) predicateDescr.getContent();
fc = clpp.getFunctions()[0];
@@ -130,6 +141,7 @@
assertEquals( new LongValueHandler( 1 ), fc.getParameters()[0] );
assertEquals( new LongValueHandler( 2 ), fc.getParameters()[1] );
+ // -----------------
// Parse the second column
col = (PatternDescr) lhsList.get( 1 );
assertEquals( "?c",
@@ -146,17 +158,16 @@
assertEquals( "type",
fieldConstraintDescr.getFieldName() );
+ assertEquals( RestrictionConnectiveDescr.AND,
+ fieldConstraintDescr.getRestriction().getConnective() );
+
varDescr = (VariableRestrictionDescr) restrictionList.get( 0 );
assertEquals( "==",
varDescr.getEvaluator() );
assertEquals( "?bf2",
varDescr.getIdentifier() );
- connDescr = (RestrictionConnectiveDescr) restrictionList.get( 1 );
- assertEquals( RestrictionConnectiveDescr.AND,
- connDescr.getConnective() );
-
- litDescr = (LiteralRestrictionDescr) restrictionList.get( 2 );
+ litDescr = (LiteralRestrictionDescr) restrictionList.get( 1 );
assertEquals( "!=",
litDescr.getEvaluator() );
assertEquals( "iii",
More information about the jboss-svn-commits
mailing list