[jboss-svn-commits] JBL Code SVN: r18899 - in labs/jbossrules/trunk: drools-compiler/src/test/java/org/drools/lang and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Mar 12 15:56:55 EDT 2008
Author: tirelli
Date: 2008-03-12 15:56:55 -0400 (Wed, 12 Mar 2008)
New Revision: 18899
Added:
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesMVEL.drl
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java
Log:
JBRULES-1459: adding test cases
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2008-03-12 19:15:54 UTC (rev 18898)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2008-03-12 19:56:55 UTC (rev 18899)
@@ -707,18 +707,18 @@
rule += "then\n";
rule += " System.out.println(\"OK!\");\n";
rule += "end";
-
+
final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new StringReader( rule ));
+ builder.addPackageFromDrl( new StringReader( rule ) );
final Package pkg = builder.getPackage();
final RuleBase ruleBase = getRuleBase();
- ruleBase.addPackage(pkg);
+ ruleBase.addPackage( pkg );
final StatefulSession session = ruleBase.newStatefulSession();
session.fireAllRules();
-
- }
-
+
+ }
+
public void testMVELConsequenceWithMapsAndArrays() throws Exception {
String rule = "package org.test;\n";
rule += "import java.util.ArrayList\n";
@@ -735,22 +735,25 @@
rule += " System.out.println(m[\"content\"][0]);\n";
rule += " list.add(m[\"content\"][0]);\n";
rule += "end";
-
+
final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new StringReader( rule ));
+ builder.addPackageFromDrl( new StringReader( rule ) );
final Package pkg = builder.getPackage();
final RuleBase ruleBase = getRuleBase();
- ruleBase.addPackage(pkg);
+ ruleBase.addPackage( pkg );
final StatefulSession session = ruleBase.newStatefulSession();
List list = new ArrayList();
- session.setGlobal( "list", list );
+ session.setGlobal( "list",
+ list );
session.fireAllRules();
-
- assertEquals( 1, list.size() );
- assertEquals( "first", list.get( 0 ) );
- }
-
+
+ assertEquals( 1,
+ list.size() );
+ assertEquals( "first",
+ list.get( 0 ) );
+ }
+
public void testCell() throws Exception {
final Cell cell1 = new Cell( 9 );
final Cell cell = new Cell( 0 );
@@ -3052,9 +3055,9 @@
final Cheese muzzarella2 = new Cheese( "muzzarella2",
10 );
final Cheese provolone = new Cheese( "provolone",
+ 10 );
+ final Cheese provolone2 = new Cheese( "another cheese (provolone)",
10 );
- final Cheese provolone2 = new Cheese( "another cheese (provolone)",
- 10 );
workingMemory.insert( stilton );
workingMemory.insert( stilton2 );
workingMemory.insert( agedStilton );
@@ -3067,7 +3070,7 @@
workingMemory.fireAllRules();
- System.out.println(list.toString());
+ System.out.println( list.toString() );
assertEquals( 4,
list.size() );
@@ -3102,7 +3105,6 @@
workingMemory.insert( stilton );
workingMemory.fireAllRules();
-
assertEquals( 1,
list.size() );
@@ -3110,6 +3112,30 @@
list.get( 0 ) );
}
+ public void testMatchesMVEL() throws Exception {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MatchesMVEL.drl" ) ) );
+ final Package pkg = builder.getPackage();
+
+ final RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage( pkg );
+ final StatefulSession session = ruleBase.newStatefulSession();
+
+ final List results = new ArrayList();
+ session.setGlobal( "results",
+ results );
+
+ Map map = new HashMap();
+ map.put( "content",
+ "hello ;=" );
+ session.insert( map );
+
+ session.fireAllRules();
+
+ assertEquals( 1,
+ results.size() );
+ }
+
public void testAutomaticBindingsErrors() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_AutoBindingsErrors.drl" ) ) );
@@ -3551,7 +3577,7 @@
fail( "unexpected exception: " + e.getMessage() );
}
}
-
+
public void testMergePackageWithSameRuleNames() throws Exception {
PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MergePackageWithSameRuleNames1.drl" ) ) );
@@ -3575,7 +3601,6 @@
assertEquals( "rule1 for the package2",
results.get( 0 ) );
}
-
public void testRuleReplacement() throws Exception {
// test rule replacement
@@ -4312,7 +4337,7 @@
assertSame( order1.getStatus(),
list.get( 0 ) );
}
-
+
public void testFromArrayIteration() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FromArrayIteration.drl" ) ) );
@@ -4322,18 +4347,23 @@
final WorkingMemory session = ruleBase.newStatefulSession();
List list = new ArrayList();
-
- session.setGlobal( "list", list );
+
+ session.setGlobal( "list",
+ list );
session.insert( new DomainObjectHolder() );
-
+
session.fireAllRules();
-
- assertEquals( 3, list.size() );
-
- assertEquals( "Message3" , list.get(0));
- assertEquals( "Message2" , list.get(1));
- assertEquals( "Message1" , list.get(2));
-
+
+ assertEquals( 3,
+ list.size() );
+
+ assertEquals( "Message3",
+ list.get( 0 ) );
+ assertEquals( "Message2",
+ list.get( 1 ) );
+ assertEquals( "Message1",
+ list.get( 2 ) );
+
}
public void testSubNetworks() throws Exception {
@@ -4553,8 +4583,8 @@
assertEquals( "should not have fired",
0,
list.size() );
- }
-
+ }
+
public void testModifyRetractAndModifyInsert() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ModifyRetractInsert.drl" ) ) );
@@ -4580,7 +4610,7 @@
1,
list.size() );
}
-
+
public void testModifyBlock() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ModifyBlock.drl" ) ) );
@@ -4596,18 +4626,20 @@
Person bob = new Person( "Bob" );
bob.setStatus( "hungry" );
-
+
Cheese c = new Cheese();
-
+
workingMemory.insert( bob );
workingMemory.insert( c );
workingMemory.fireAllRules();
-
- assertEquals( 10, c.getPrice() );
- assertEquals( "fine", bob.getStatus() );
- }
+ assertEquals( 10,
+ c.getPrice() );
+ assertEquals( "fine",
+ bob.getStatus() );
+ }
+
// this test requires mvel 1.2.19. Leaving it commented until mvel is released.
public void testJavaModifyBlock() throws Exception {
final PackageBuilder builder = new PackageBuilder();
@@ -4758,12 +4790,14 @@
final List list = new ArrayList();
session.setGlobal( "results",
- list );
-
- Cheese cheese = new Cheese( "stilton", 10 );
+ list );
+
+ Cheese cheese = new Cheese( "stilton",
+ 10 );
Cheesery cheesery = new Cheesery();
cheesery.addCheese( cheese );
- Person bob = new Person( "bob", "stilton" );
+ Person bob = new Person( "bob",
+ "stilton" );
Cheese cheese2 = new Cheese();
bob.setCheese( cheese2 );
@@ -4775,15 +4809,16 @@
assertEquals( "should not have fired",
0,
list.size() );
-
+
cheese2.setType( "stilton" );
-
- session.update( p, bob );
+
+ session.update( p,
+ bob );
session.fireAllRules();
-
+
assertEquals( 1,
list.size() );
-
+
}
-
+
}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java 2008-03-12 19:15:54 UTC (rev 18898)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java 2008-03-12 19:56:55 UTC (rev 18899)
@@ -23,7 +23,7 @@
super.tearDown();
}
- public void xxxtestDump() throws Exception {
+ public void testDump() throws Exception {
String input = "Cheese( price > 10 && < 20 || == $val || == 30 )";
String expected = "( ( price > 10 && price < 20 ) || price == $val || price == 30 )" ;
DRLParser parser = parse( input );
@@ -59,7 +59,18 @@
assertEquals( expected, result );
}
-
+ public void testDumpMatches3() throws Exception {
+ String input = "Map( this[\"content\"] matches \"hello ;=\" )";
+ String expected = "this[\"content\"] ~= \"hello ;=\"" ;
+ DRLParser parser = parse( input );
+ PatternDescr pattern = (PatternDescr) parser.fact( null );
+
+ FieldConstraintDescr fieldDescr = (FieldConstraintDescr) pattern.getConstraint().getDescrs().get( 0 );
+ String result = dumper.dump( fieldDescr );
+
+ assertEquals( expected, result );
+ }
+
private DRLParser parse(final String text) throws Exception {
return newParser( newTokenStream( newLexer( newCharStream( text ) ) ) );
}
Copied: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesMVEL.drl (from rev 18898, labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesMVEL.drl)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesMVEL.drl (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesMVEL.drl 2008-03-12 19:56:55 UTC (rev 18899)
@@ -0,0 +1,12 @@
+package org.drools;
+
+import java.util.Map;
+
+global java.util.List results;
+
+rule "Matches mvel"
+when
+ Map( this["content"] matches "hello ;=" )
+then
+ results.add( "OK" );
+end
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java 2008-03-12 19:15:54 UTC (rev 18898)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java 2008-03-12 19:56:55 UTC (rev 18899)
@@ -103,7 +103,6 @@
{Boolean.FALSE, "!=", "xyz", Boolean.FALSE},
{Boolean.FALSE, "!=", "true", Boolean.TRUE},
{Boolean.FALSE, "!=", "false", Boolean.FALSE}
-
};
runEvaluatorTest( data,
@@ -158,6 +157,10 @@
{"foo", "matches", ".*foo", Boolean.TRUE},
{"foo", "matches", "bar", Boolean.FALSE},
{null, "matches", ".*foo", Boolean.FALSE},
+ {"something", "matches", "something", Boolean.TRUE},
+ {"something", "matches", "hello ;=", Boolean.FALSE},
+ {"something", "not matches", "something", Boolean.FALSE},
+ {"something", "not matches", "hello ;=", Boolean.TRUE},
{"foo", "==", null, Boolean.FALSE},
{"foo", "!=", null, Boolean.TRUE},
{null, "==", null, Boolean.TRUE},
More information about the jboss-svn-commits
mailing list