[jboss-svn-commits] JBL Code SVN: r23227 - 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 30 21:34:12 EDT 2008


Author: michael.neale at jboss.com
Date: 2008-09-30 21:34:12 -0400 (Tue, 30 Sep 2008)
New Revision: 23227

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_GeneratedBeansMVEL.drl
Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
Log:
test case for wierd variable bug

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	2008-09-30 16:27:04 UTC (rev 23226)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-10-01 01:34:12 UTC (rev 23227)
@@ -642,8 +642,46 @@
         assertEquals( person,
                       result.get( 1 ) );
 
+
     }
 
+
+    public void testGeneratedBeansMVEL() throws Exception {
+        final PackageBuilderConfiguration pbconf = new PackageBuilderConfiguration();
+        //pbconf.setDumpDir( new File( "target" ) );
+        final PackageBuilder builder = new PackageBuilder( pbconf );
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_GeneratedBeansMVEL.drl" ) ) );
+        assertFalse( builder.getErrors().toString(),
+                     builder.hasErrors() );
+
+        Package p = builder.getPackage();
+
+        // disabling shadow proxies, since they don't work yet with generated facts and
+        // we will scrap shadow proxies in drools 5 anyway.
+        RuleBaseConfiguration conf = new RuleBaseConfiguration();
+        RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );
+        ruleBase.addPackage( p );
+
+        // test rulebase serialization
+        ruleBase = SerializationHelper.serializeObject( ruleBase );
+
+        // Retrieve the generated fact type
+        FactType pf = ruleBase.getFactType( "mortgages.Applicant" );
+        FactType af = ruleBase.getFactType( "mortgages.LoanApplication" );
+
+        Object person = pf.newInstance();
+        pf.set(person, "creditRating", "OK");
+
+        Object application = af.newInstance();
+        StatefulSession sess = ruleBase.newStatefulSession();
+        sess.insert(person);
+        sess.insert(application);
+
+        sess.fireAllRules();
+
+
+    }
+
     public void testGeneratedBeans2() throws Exception {
         final PackageBuilderConfiguration pbconf = new PackageBuilderConfiguration();
         //pbconf.setDumpDir( new File( "target" ) );
@@ -677,7 +715,7 @@
         assertEquals( "stilton",
                       cheeseFact.get( cheese,
                                       "type" ) );
-        
+
         // testing equals method
         Object cheese2 = cheeseFact.newInstance();
         cheeseFact.set( cheese2,
@@ -685,8 +723,8 @@
                         "stilton" );
         assertEquals( cheese,
                       cheese2 );
-        
 
+
         FactType personType = ruleBase.getFactType( "org.drools.generatedbeans.Person" );
 
         Object ps = personType.newInstance();
@@ -710,13 +748,13 @@
         personType.set( ps2,
                         "age",
                         30 );
-        
+
         assertEquals( ps, ps2);
-        
+
         personType.set( ps2,
                         "last",
                         "little" );
-        
+
         assertFalse( ps.equals( ps2 ) );
 
         // creating a stateful session
@@ -878,11 +916,11 @@
         // pre build the package
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackage( packageDescr );
-        
+
         if ( builder.hasErrors() ) {
             System.err.println( builder.getErrors() );
         }
-        
+
         Package pkg = builder.getPackage();
         pkg = SerializationHelper.serializeObject( pkg );
 

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_GeneratedBeansMVEL.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_GeneratedBeansMVEL.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_GeneratedBeansMVEL.drl	2008-10-01 01:34:12 UTC (rev 23227)
@@ -0,0 +1,46 @@
+package mortgages
+
+
+declare LoanApplication
+	amount: Integer
+	approved: Boolean
+	deposit: Integer
+	approvedRate: Integer
+	lengthYears: Integer
+	explanation: String
+	insuranceCost: Integer
+end
+
+declare Applicant
+	age: Integer
+	name: String
+	creditRating: String
+end
+
+declare IncomeSource
+	amount: Integer
+	type: String
+end
+
+declare Bankruptcy
+	amountOwed: Integer
+	yearOfOccurrence: Integer
+end
+
+
+
+
+
+
+rule 'Try it again'
+       dialect "mvel"
+	when
+		( Applicant( creditRating == "OK" ) or Applicant( creditRating == "Sub prime" ) )
+		app : LoanApplication( )
+	then
+		app.setApproved( false );
+		app.setExplanation( "Only AB" );
+		retract( app );
+
+end
+


Property changes on: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_GeneratedBeansMVEL.drl
___________________________________________________________________
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list