[jboss-svn-commits] JBL Code SVN: r29700 - 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 Oct 20 12:35:36 EDT 2009
Author: tirelli
Date: 2009-10-20 12:35:36 -0400 (Tue, 20 Oct 2009)
New Revision: 29700
Added:
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Forall2.drl
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java
Log:
Adding a forall test case
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java 2009-10-20 15:49:18 UTC (rev 29699)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java 2009-10-20 16:35:36 UTC (rev 29700)
@@ -478,6 +478,46 @@
list.size() );
}
+ public void testForall2() throws Exception {
+ final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+ kbuilder.add( ResourceFactory.newInputStreamResource( getClass().getResourceAsStream( "test_Forall2.drl" ) ),
+ ResourceType.DRL );
+ assertFalse( kbuilder.getErrors().toString(),
+ kbuilder.hasErrors() );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+ final StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+ final List<String> list = new ArrayList<String>();
+ ksession.setGlobal( "results",
+ list );
+
+ final State state = new State( "SP" );
+ ksession.insert( state );
+
+ final Person bob = new Person( "Bob" );
+ bob.setStatus( state.getState() );
+ bob.setAlive( true );
+ ksession.insert( bob );
+
+ ksession.fireAllRules();
+
+ assertEquals( 0,
+ list.size() );
+
+ final State qc = new State( "QC" );
+ ksession.insert( qc );
+ final Person john = new Person( "John" );
+ john.setStatus( qc.getState() );
+ john.setAlive( false );
+
+ ksession.fireAllRules();
+
+ assertEquals( 1,
+ list.size() );
+ }
+
public void testRemoveIdentitiesSubNetwork() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_removeIdentitiesSubNetwork.drl" ) ) );
Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Forall2.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Forall2.drl (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Forall2.drl 2009-10-20 16:35:36 UTC (rev 29700)
@@ -0,0 +1,12 @@
+package org.drools;
+
+global java.util.List results;
+
+rule "test nested CEs"
+ when
+ State( $state : state )
+ forall( $p : Person( status == $state )
+ Person( this == $p, alive == false ) )
+ then
+ results.add("OK");
+end
\ No newline at end of file
More information about the jboss-svn-commits
mailing list