Author: mic...@jb... Date: 2006-05-09 03:52:29 -0400 (Tue, 09 May 2006) New Revision: 4150 Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/State.java labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_PropertyChange.drl Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java Log: property change support integration tests Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/State.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/State.java 2006-05-09 07:44:33 UTC (rev 4149) +++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/State.java 2006-05-09 07:52:29 UTC (rev 4150) @@ -0,0 +1,34 @@ +package org.drools; + +import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeSupport; + +public class State { + private PropertyChangeSupport changes = new PropertyChangeSupport( this ); + + private String state; + + public State(String state) { + this.state = state; + } + + public String getState() { + return this.state; + } + + public void setState(String newState) { + String oldState = this.state; + this.state = newState; + this.changes.firePropertyChange( "state", + oldState, + newState ); + } + + public void addPropertyChangeListener(PropertyChangeListener l) { + changes.addPropertyChangeListener( l ); + } + + public void removePropertyChangeListener(PropertyChangeListener l) { + changes.removePropertyChangeListener( l ); + } +} Property changes on: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/State.java ___________________________________________________________________ Name: svn:eol-style + native Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-05-09 07:44:33 UTC (rev 4149) +++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-05-09 07:52:29 UTC (rev 4150) @@ -41,6 +41,7 @@ import org.drools.QueryResults; import org.drools.RuleBase; import org.drools.Sensor; +import org.drools.State; import org.drools.WorkingMemory; import org.drools.compiler.DrlParser; import org.drools.compiler.DroolsError; @@ -217,7 +218,32 @@ assertEquals( bill, list.get( 0 ) ); } + + public void testPropertyChangeSupport() throws Exception { + PackageBuilder builder = new PackageBuilder(); + builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "Test_PropertyChange.drl" ) ) ); + Package pkg = builder.getPackage(); + RuleBase ruleBase = getRuleBase(); + ruleBase.addPackage( pkg ); + WorkingMemory workingMemory = ruleBase.newWorkingMemory(); + + List list = new ArrayList(); + workingMemory.setGlobal( "list", + list ); + + State state = new State("initial"); + workingMemory.assertObject( state, true ); + workingMemory.fireAllRules(); + + assertEquals(1, list.size()); + + state.setState( "finished" ); + workingMemory.fireAllRules(); + assertEquals(2, list.size()); + + } + public void testBigDecimal() throws Exception { PackageBuilder builder = new PackageBuilder(); Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_PropertyChange.drl =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_PropertyChange.drl 2006-05-09 07:44:33 UTC (rev 4149) +++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_PropertyChange.drl 2006-05-09 07:52:29 UTC (rev 4150) @@ -0,0 +1,12 @@ +package org.drools.test; + +import org.drools.State; + +global java.util.List list + +rule simple + when + State( ) + then + list.add("fired"); +end \ No newline at end of file Property changes on: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_PropertyChange.drl ___________________________________________________________________ Name: svn:eol-style + native |