[jboss-svn-commits] JBL Code SVN: r13910 - in labs/jbossrules/trunk/drools-compiler/src/test: java/org/drools/integrationtests and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jul 31 09:42:46 EDT 2007


Author: tirelli
Date: 2007-07-31 09:42:45 -0400 (Tue, 31 Jul 2007)
New Revision: 13910

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_BooleanWrapper.drl
Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Primitives.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
Log:
JBRULES-1046: adding integration test for boolean wrapper

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Primitives.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Primitives.java	2007-07-31 13:16:11 UTC (rev 13909)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Primitives.java	2007-07-31 13:42:45 UTC (rev 13910)
@@ -32,6 +32,8 @@
     private Object[] arrayAttribute;
     private int[]    primitiveArrayAttribute;
     private String[] stringArray;
+    
+    private Boolean  booleanWrapper;
 
     public boolean isBooleanPrimitive() {
         return this.booleanPrimitive;
@@ -135,4 +137,12 @@
         this.stringAttribute = stringAttribute;
     }
 
+    public Boolean getBooleanWrapper() {
+        return booleanWrapper;
+    }
+
+    public void setBooleanWrapper(Boolean booleanWrapper) {
+        this.booleanWrapper = booleanWrapper;
+    }
+
 }
\ No newline at end of file

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-07-31 13:16:11 UTC (rev 13909)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2007-07-31 13:42:45 UTC (rev 13910)
@@ -3443,21 +3443,88 @@
                       results.get(1) );
         
         workingMemory.update( handle, first );
-        workingMemory.insert( new SecondClass("1", "2", "3", "4", null ) );
+        workingMemory.insert( new SecondClass(null, "2", "3", "4", "5" ) );
         workingMemory.fireAllRules();
         assertEquals( 3,
                       results.size() );
         assertEquals( "NOT",
                       results.get(2) );
         
-        workingMemory.insert( new SecondClass("1", "2", "3", "4", "5" ) );
         workingMemory.update( handle, first );
+        workingMemory.insert( new SecondClass("1", null, "3", "4", "5" ) );
         workingMemory.fireAllRules();
         assertEquals( 4,
                       results.size() );
-        assertEquals( "EQUALS",
+        assertEquals( "NOT",
                       results.get(3) );
         
+        workingMemory.update( handle, first );
+        workingMemory.insert( new SecondClass("1", "2", null, "4", "5" ) );
+        workingMemory.fireAllRules();
+        assertEquals( 5,
+                      results.size() );
+        assertEquals( "NOT",
+                      results.get(4) );
+        
+        workingMemory.update( handle, first );
+        workingMemory.insert( new SecondClass("1", "2", "3", null, "5" ) );
+        workingMemory.fireAllRules();
+        assertEquals( 6,
+                      results.size() );
+        assertEquals( "NOT",
+                      results.get(5) );
+        
+        workingMemory.update( handle, first );
+        workingMemory.insert( new SecondClass("1", "2", "3", "4", null ) );
+        workingMemory.fireAllRules();
+        assertEquals( 7,
+                      results.size() );
+        assertEquals( "NOT",
+                      results.get(6) );
+        
+        workingMemory.insert( new SecondClass("1", "2", "3", "4", "5" ) );
+        workingMemory.update( handle, first );
+        workingMemory.fireAllRules();
+        assertEquals( 8,
+                      results.size() );
+        assertEquals( "EQUALS",
+                      results.get(7) );
+        
     }
 
+    public void testBooleanWrapper() throws Exception {
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_BooleanWrapper.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 );
+        
+        Primitives p1 = new Primitives();
+        workingMemory.insert( p1 );
+        workingMemory.fireAllRules();
+        assertEquals( 0,
+                      results.size() );
+
+        Primitives p2 = new Primitives();
+        p2.setBooleanWrapper( Boolean.FALSE );
+        workingMemory.insert( p2 );
+        workingMemory.fireAllRules();
+        assertEquals( 0,
+                      results.size() );
+
+        Primitives p3 = new Primitives();
+        p3.setBooleanWrapper( Boolean.TRUE );
+        workingMemory.insert( p3 );
+        workingMemory.fireAllRules();
+        assertEquals( 1,
+                      results.size() );
+
+    }
+
 }
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_BooleanWrapper.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_BooleanWrapper.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_BooleanWrapper.drl	2007-07-31 13:42:45 UTC (rev 13910)
@@ -0,0 +1,11 @@
+package org.drools;
+
+global java.util.List results;
+
+rule "test boolean wrapper"
+	when
+		Primitives( booleanWrapper == true );
+	then
+		results.add( "fired" );
+end
+




More information about the jboss-svn-commits mailing list