[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