[jboss-svn-commits] JBL Code SVN: r15358 - in labs/jbossrules/trunk/drools-compiler/src/test: resources/org/drools/integrationtests and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Sep 25 08:44:00 EDT 2007
Author: mark.proctor at jboss.com
Date: 2007-09-25 08:44:00 -0400 (Tue, 25 Sep 2007)
New Revision: 15358
Added:
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_globalCustomResolver.drl
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
Log:
-updated test for custom global resolvers
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 2007-09-25 09:31:55 UTC (rev 15357)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2007-09-25 12:44:00 UTC (rev 15358)
@@ -107,6 +107,7 @@
import org.drools.rule.builder.dialect.java.JavaDialectConfiguration;
import org.drools.spi.Activation;
import org.drools.spi.ConsequenceExceptionHandler;
+import org.drools.spi.GlobalResolver;
import org.drools.xml.XmlDumper;
/** Run all the tests with the ReteOO engine implementation */
@@ -150,7 +151,84 @@
assertEquals( new Integer( 5 ),
list.get( 0 ) );
}
+
+ public void testGlobals2() throws Exception {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_globalsAsConstraints.drl" ) ) );
+ final Package pkg = builder.getPackage();
+
+ final RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage( pkg );
+ final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+ final List results = new ArrayList();
+ workingMemory.setGlobal( "results",
+ results );
+
+ final List cheeseTypes = new ArrayList();
+ workingMemory.setGlobal( "cheeseTypes",
+ cheeseTypes );
+ cheeseTypes.add( "stilton" );
+ cheeseTypes.add( "muzzarela" );
+
+ final Cheese stilton = new Cheese( "stilton",
+ 5 );
+ workingMemory.insert( stilton );
+
+ workingMemory.fireAllRules();
+
+ assertEquals( 1,
+ results.size() );
+ assertEquals( "memberOf",
+ results.get( 0 ) );
+
+ final Cheese brie = new Cheese( "brie",
+ 5 );
+ workingMemory.insert( brie );
+
+ workingMemory.fireAllRules();
+
+ assertEquals( 2,
+ results.size() );
+ assertEquals( "not memberOf",
+ results.get( 1 ) );
+ }
+
+ public void testCustomGlobalResolver() throws Exception {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_globalCustomResolver.drl" ) ) );
+ final Package pkg = builder.getPackage();
+
+ final RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage( pkg );
+ final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+ final Map map = new HashMap();
+ List list = new ArrayList();
+ String string = "stilton";
+
+ map.put("list", list);
+ map.put("string", string);
+
+ workingMemory.setGlobalResolver( new GlobalResolver() {
+ public Object resolveGlobal(String identifier) {
+ return map.get( identifier );
+ }
+
+ public void setGlobal(String identifier,
+ Object value) {
+ map.put( identifier, value );
+ }
+
+ } );
+
+ workingMemory.fireAllRules();
+
+ assertEquals( new Integer( 5 ),
+ list.get( 0 ) );
+ }
+
public void testFieldBiningsAndEvalSharing() throws Exception {
final String drl = "test_FieldBindingsAndEvalSharing.drl";
evalSharingTest( drl );
@@ -3166,49 +3244,6 @@
}
- public void testGlobals2() throws Exception {
-
- final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_globalsAsConstraints.drl" ) ) );
- final Package pkg = builder.getPackage();
-
- final RuleBase ruleBase = getRuleBase();
- ruleBase.addPackage( pkg );
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-
- final List results = new ArrayList();
- workingMemory.setGlobal( "results",
- results );
-
- final List cheeseTypes = new ArrayList();
- workingMemory.setGlobal( "cheeseTypes",
- cheeseTypes );
- cheeseTypes.add( "stilton" );
- cheeseTypes.add( "muzzarela" );
-
- final Cheese stilton = new Cheese( "stilton",
- 5 );
- workingMemory.insert( stilton );
-
- workingMemory.fireAllRules();
-
- assertEquals( 1,
- results.size() );
- assertEquals( "memberOf",
- results.get( 0 ) );
-
- final Cheese brie = new Cheese( "brie",
- 5 );
- workingMemory.insert( brie );
-
- workingMemory.fireAllRules();
-
- assertEquals( 2,
- results.size() );
- assertEquals( "not memberOf",
- results.get( 1 ) );
- }
-
public void testEqualitySupport() throws Exception {
final PackageBuilder builder = new PackageBuilder();
Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_globalCustomResolver.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_globalCustomResolver.drl (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_globalCustomResolver.drl 2007-09-25 12:44:00 UTC (rev 15358)
@@ -0,0 +1,14 @@
+package org.drools.test;
+
+import org.drools.Cheese;
+
+global java.util.List list
+global java.lang.String string
+
+
+rule "global rule test"
+ when
+ eval( "stilton".equals( string ) )
+ then
+ list.add( new Integer(5) );
+end
\ No newline at end of file
More information about the jboss-svn-commits
mailing list