[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