[jboss-svn-commits] JBL Code SVN: r19833 - 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
Thu May 1 20:16:58 EDT 2008
Author: mark.proctor at jboss.com
Date: 2008-05-01 20:16:57 -0400 (Thu, 01 May 2008)
New Revision: 19833
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_FactTemplate.drl
Log:
JBRULES-1443 retract of Fact Template leads to NPE
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-05-02 00:16:42 UTC (rev 19832)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2008-05-02 00:16:57 UTC (rev 19833)
@@ -528,52 +528,6 @@
assertEquals( 1, ((List)wm.getGlobal("list")).size() );
}
- public void testFactBindings() throws Exception {
- final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FactBindings.drl" ) ) );
- final Package pkg = builder.getPackage();
-
- // add the package to a rulebase
- RuleBase ruleBase = getRuleBase();
- ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject(ruleBase);
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-
- final List events = new ArrayList();
- final WorkingMemoryEventListener listener = new DefaultWorkingMemoryEventListener() {
- public void objectUpdated(ObjectUpdatedEvent event) {
- events.add( event );
- }
- };
-
- workingMemory.addEventListener( listener );
-
- final Person bigCheese = new Person( "big cheese" );
- final Cheese cheddar = new Cheese( "cheddar",
- 15 );
- bigCheese.setCheese( cheddar );
-
- final FactHandle bigCheeseHandle = workingMemory.insert( bigCheese );
- final FactHandle cheddarHandle = workingMemory.insert( cheddar );
- workingMemory.fireAllRules();
-
- ObjectUpdatedEvent event = (ObjectUpdatedEvent) events.get( 0 );
- assertSame( cheddarHandle,
- event.getFactHandle() );
- assertSame( cheddar,
- event.getOldObject() );
- assertSame( cheddar,
- event.getObject() );
-
- event = (ObjectUpdatedEvent) events.get( 1 );
- assertSame( bigCheeseHandle,
- event.getFactHandle() );
- assertSame( bigCheese,
- event.getOldObject() );
- assertSame( bigCheese,
- event.getObject() );
- }
-
public void testNullHandling() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NullHandling.drl" ) ) );
@@ -789,7 +743,53 @@
assertEquals( bill,
((List)workingMemory.getGlobal("list")).get( 0 ) );
}
+
+ public void testFactBindings() throws Exception {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FactBindings.drl" ) ) );
+ final Package pkg = builder.getPackage();
+ // add the package to a rulebase
+ RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject(ruleBase);
+ final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+ final List events = new ArrayList();
+ final WorkingMemoryEventListener listener = new DefaultWorkingMemoryEventListener() {
+ public void objectUpdated(ObjectUpdatedEvent event) {
+ events.add( event );
+ }
+ };
+
+ workingMemory.addEventListener( listener );
+
+ final Person bigCheese = new Person( "big cheese" );
+ final Cheese cheddar = new Cheese( "cheddar",
+ 15 );
+ bigCheese.setCheese( cheddar );
+
+ final FactHandle bigCheeseHandle = workingMemory.insert( bigCheese );
+ final FactHandle cheddarHandle = workingMemory.insert( cheddar );
+ workingMemory.fireAllRules();
+
+ ObjectUpdatedEvent event = (ObjectUpdatedEvent) events.get( 0 );
+ assertSame( cheddarHandle,
+ event.getFactHandle() );
+ assertSame( cheddar,
+ event.getOldObject() );
+ assertSame( cheddar,
+ event.getObject() );
+
+ event = (ObjectUpdatedEvent) events.get( 1 );
+ assertSame( bigCheeseHandle,
+ event.getFactHandle() );
+ assertSame( bigCheese,
+ event.getOldObject() );
+ assertSame( bigCheese,
+ event.getObject() );
+ }
+
public void testFactTemplate() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FactTemplate.drl" ) ) );
@@ -810,7 +810,7 @@
"stilton" );
stilton.setFieldValue( "price",
new Integer( 100 ) );
- workingMemory.insert( stilton );
+ InternalFactHandle stiltonHandle = ( InternalFactHandle ) workingMemory.insert( stilton );
// TODO does not work for facts now. adding equals(object) to it.
// workingMemory = SerializationHelper.serializeObject(workingMemory);
@@ -825,6 +825,7 @@
fact );
assertEquals( new Integer( 200 ),
fact.getFieldValue( "price" ) );
+ assertEquals( -1, stiltonHandle.getId() );
}
public void testFactTemplateFieldBinding() throws Exception {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_FactTemplate.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_FactTemplate.drl 2008-05-02 00:16:42 UTC (rev 19832)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_FactTemplate.drl 2008-05-02 00:16:57 UTC (rev 19833)
@@ -15,4 +15,5 @@
then
$stilton.setFieldValue( "price", new Integer( 200 ) );
list.add( $stilton );
+ retract( $stilton );
end
\ No newline at end of file
More information about the jboss-svn-commits
mailing list