[jboss-svn-commits] JBL Code SVN: r36366 - 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
Sat Dec 11 01:57:55 EST 2010
Author: laune
Date: 2010-12-11 01:57:53 -0500 (Sat, 11 Dec 2010)
New Revision: 36366
Added:
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Halt_With_Timer.drl
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Timer_With_Not.drl
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/TimerAndCalendarTest.java
Log:
new tests for problems: timer+not, timer+drools.halt
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/TimerAndCalendarTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/TimerAndCalendarTest.java 2010-12-10 23:02:46 UTC (rev 36365)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/TimerAndCalendarTest.java 2010-12-11 06:57:53 UTC (rev 36366)
@@ -927,6 +927,47 @@
timeService.advanceTime( oneDay, TimeUnit.SECONDS );
assertEquals( 3, list.size() );
- }
+ }
+ public void FIXME_testTimerWithNot() throws Exception {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Timer_With_Not.drl" ) ) );
+ final Package pkg = builder.getPackage();
+
+ RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject( ruleBase );
+ final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+ workingMemory.fireAllRules();
+ Thread.sleep( 1500 );
+
+ // now check that rule "wrap A" fired once, creating one B
+ assertEquals( 2, workingMemory.getFactCount() );
+ }
+
+ public void FIXME_testHaltWithTimer() throws Exception {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Halt_With_Timer.drl" ) ) );
+ final Package pkg = builder.getPackage();
+
+ RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage( pkg );
+ ruleBase = SerializationHelper.serializeObject( ruleBase );
+ final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+ new Thread( new Runnable(){
+ public void run(){ workingMemory.fireUntilHalt(); }
+ } ).start();
+ Thread.sleep( 1000 );
+ workingMemory.insert( "halt" );
+ Thread.sleep( 2000 );
+
+ // now check that rule "halt" fired once, creating one Integer
+ assertEquals( 2, workingMemory.getFactCount() );
+ }
+
+
+
+
}
Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Halt_With_Timer.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Halt_With_Timer.drl (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Halt_With_Timer.drl 2010-12-11 06:57:53 UTC (rev 36366)
@@ -0,0 +1,10 @@
+
+# fire once, for a String, create an Integer, halt!
+rule x
+timer(int:0 1000)
+when
+ $s: String()
+then
+ insert( new Integer(1) );
+ drools.halt();
+end
Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Timer_With_Not.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Timer_With_Not.drl (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Timer_With_Not.drl 2010-12-11 06:57:53 UTC (rev 36366)
@@ -0,0 +1,30 @@
+import java.util.Date
+
+declare A
+ id: String
+end
+
+declare B
+ a: A
+end
+
+# insert one A
+rule "insert A"
+timer(int: 1)
+when
+then
+ A a = new A();
+ a.setId( (new Date()).toString() );
+ insert( a );
+end
+
+# wrap the single A into a B => 2 facts
+rule "wrap A"
+timer(int: 100 100)
+when
+ $a: A( $id: id )
+ not B( a == $a )
+then
+ B b = new B( $a );
+ insert( b );
+end
More information about the jboss-svn-commits
mailing list