[jboss-svn-commits] JBL Code SVN: r28549 - 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 28 18:13:17 EDT 2009


Author: tirelli
Date: 2009-07-28 18:13:16 -0400 (Tue, 28 Jul 2009)
New Revision: 28549

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ConstraintConnectorOr.drl
Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Person.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
Log:
Adding integration test

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Person.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Person.java	2009-07-28 22:09:11 UTC (rev 28548)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Person.java	2009-07-28 22:13:16 UTC (rev 28549)
@@ -24,39 +24,40 @@
     private char              sex;
 
     private boolean           alive;
+    private boolean           happy;
 
     private String            status;
 
     private Cheese            cheese;
 
-    private List<Address>   addresses = new ArrayList<Address>();
+    private List<Address>     addresses        = new ArrayList<Address>();
 
-//    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-//        name    = (String)in.readObject();
-//        likes    = (String)in.readObject();
-//        age     = in.readInt();
-//        bigDecimal    = (BigDecimal)in.readObject();
-//        bigInteger    = (BigInteger)in.readObject();
-//        hair    = (String)in.readObject();
-//        sex     = in.readChar();
-//        alive   = in.readBoolean();
-//        status    = (String)in.readObject();
-//        cheese    = (Cheese)in.readObject();
-//        addresses    = (List)in.readObject();
-//    }
-//
-//    public void writeExternal(ObjectOutput out) throws IOException {
-//        out.writeObject(name);
-//        out.writeObject(likes);
-//        out.writeObject(bigDecimal);
-//        out.writeObject(bigInteger);
-//        out.writeObject(hair);
-//        out.writeChar(sex);
-//        out.writeBoolean(alive);
-//        out.writeObject(status);
-//        out.writeObject(cheese);
-//        out.writeObject(addresses);
-//    }
+    //    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+    //        name    = (String)in.readObject();
+    //        likes    = (String)in.readObject();
+    //        age     = in.readInt();
+    //        bigDecimal    = (BigDecimal)in.readObject();
+    //        bigInteger    = (BigInteger)in.readObject();
+    //        hair    = (String)in.readObject();
+    //        sex     = in.readChar();
+    //        alive   = in.readBoolean();
+    //        status    = (String)in.readObject();
+    //        cheese    = (Cheese)in.readObject();
+    //        addresses    = (List)in.readObject();
+    //    }
+    //
+    //    public void writeExternal(ObjectOutput out) throws IOException {
+    //        out.writeObject(name);
+    //        out.writeObject(likes);
+    //        out.writeObject(bigDecimal);
+    //        out.writeObject(bigInteger);
+    //        out.writeObject(hair);
+    //        out.writeChar(sex);
+    //        out.writeBoolean(alive);
+    //        out.writeObject(status);
+    //        out.writeObject(cheese);
+    //        out.writeObject(addresses);
+    //    }
 
     public Person() {
 
@@ -82,8 +83,8 @@
     public void setAddresses(List<Address> addresses) {
         this.addresses = addresses;
     }
-    
-    public void addAddress( Address address ) {
+
+    public void addAddress(Address address) {
         this.addresses.add( address );
     }
 
@@ -271,4 +272,12 @@
         this.cheese = cheese;
     }
 
+    public boolean isHappy() {
+        return happy;
+    }
+
+    public void setHappy(boolean happy) {
+        this.happy = happy;
+    }
+
 }
\ 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	2009-07-28 22:09:11 UTC (rev 28548)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2009-07-28 22:13:16 UTC (rev 28549)
@@ -4392,6 +4392,48 @@
                       results.get( 3 ) );
     }
 
+    public void testConstraintConnectorOr() throws Exception {
+        final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+        kbuilder.add( ResourceFactory.newInputStreamResource( getClass().getResourceAsStream( "test_ConstraintConnectorOr.drl" ) ),
+                      ResourceType.DRL );
+        assertFalse( kbuilder.getErrors().toString(), kbuilder.hasErrors() );
+        
+        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+        kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+        
+        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+        List<Person> results = new ArrayList<Person>();
+        ksession.setGlobal( "results", results );
+
+        final Person mark = new Person( "Mark" );
+        mark.setAlive( true );
+        mark.setHappy( true );
+        
+        final Person bush = new Person( "Bush" );
+        bush.setAlive( true );
+        bush.setHappy( false );
+
+        final Person conan = new Person( "Conan" );
+        conan.setAlive( false );
+        conan.setHappy( true );
+        
+        final Person nero = new Person( "Nero" );
+        nero.setAlive( false );
+        nero.setHappy( false );
+        
+        ksession.insert( mark );
+        ksession.insert( bush );
+        ksession.insert( conan );
+        ksession.insert( nero );
+        
+        ksession.fireAllRules();
+        
+        assertEquals( 3, results.size() );
+        assertTrue( results.contains( mark ) );
+        assertTrue( results.contains( bush ) );
+        assertTrue( results.contains( conan ) );
+    }
+
     public void testMatchesNotMatchesCheese() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MatchesNotMatches.drl" ) ) );

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ConstraintConnectorOr.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ConstraintConnectorOr.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ConstraintConnectorOr.drl	2009-07-28 22:13:16 UTC (rev 28549)
@@ -0,0 +1,10 @@
+package org.drools
+
+global java.util.List results
+
+rule "Simple || operator"
+    when    	
+		$person : Person( alive == true || happy == true )		    
+    then
+        results.add( $person );
+end    



More information about the jboss-svn-commits mailing list