[jboss-svn-commits] JBL Code SVN: r25527 - 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
Fri Mar 6 11:29:40 EST 2009


Author: tirelli
Date: 2009-03-06 11:29:40 -0500 (Fri, 06 Mar 2009)
New Revision: 25527

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ParenthesisUsage.drl
Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
Log:
JBRULES-1747: adding test case. Issue was already fixed it seems.

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	2009-03-06 16:19:44 UTC (rev 25526)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2009-03-06 16:29:40 UTC (rev 25527)
@@ -6097,6 +6097,37 @@
 
     }
 
+    public void testNPEOnParenthesis() throws Exception {
+        final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+        kbuilder.add( ResourceFactory.newInputStreamResource( getClass().getResourceAsStream( "test_ParenthesisUsage.drl" ) ), 
+                      ResourceType.DRL );
+
+        final KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+        kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+        
+        final List<Person> results = new ArrayList<Person>(); 
+        
+        final StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
+        session.setGlobal( "results", results );
+        
+        Person bob = new Person( "Bob", 20 );
+        bob.setAlive( true );
+        Person foo = new Person( "Foo", 0 );
+        foo.setAlive( false );
+        
+        session.insert( bob );
+        session.fireAllRules();
+        
+        assertEquals( 1, results.size() );
+        assertEquals( bob, results.get( 0 ) );
+        
+        session.insert( foo );
+        session.fireAllRules();
+        
+        assertEquals( 2, results.size() );
+        assertEquals( foo, results.get( 1 ) );
+    }
+
     public void testKnowledgeContextJava() {
         KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
         kbuilder.add( ResourceFactory.newClassPathResource( "test_KnowledgeContextJava.drl",

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ParenthesisUsage.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ParenthesisUsage.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ParenthesisUsage.drl	2009-03-06 16:29:40 UTC (rev 25527)
@@ -0,0 +1,10 @@
+package org.drools
+
+global java.util.List results
+
+rule "TestRule"
+when
+    $p : Person( alive ==true ||(alive==false && age ==0) )
+then
+    results.add( $p );
+end 
\ No newline at end of file




More information about the jboss-svn-commits mailing list