[jboss-svn-commits] JBL Code SVN: r8836 - labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jan 12 05:10:33 EST 2007


Author: michael.neale at jboss.com
Date: 2007-01-12 05:10:31 -0500 (Fri, 12 Jan 2007)
New Revision: 8836

Added:
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/RuleTest.java
Log:
JBRULES-606 JBRULES-608 effective dating rule enablement goodness

Added: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/RuleTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/RuleTest.java	2007-01-12 09:57:47 UTC (rev 8835)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/RuleTest.java	2007-01-12 10:10:31 UTC (rev 8836)
@@ -0,0 +1,97 @@
+package org.drools.rule;
+
+import java.util.Calendar;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Michael Neale
+ */
+public class RuleTest extends TestCase {
+
+    public void testDateEffective() {
+        Rule rule = new Rule("myrule");
+        
+        
+        assertTrue(rule.isEffective());
+        
+        Calendar earlier = Calendar.getInstance();
+        earlier.setTimeInMillis( 10 );
+        
+        rule.setDateEffective(earlier);
+        
+        assertTrue(rule.isEffective());
+        
+        Calendar later = Calendar.getInstance();
+        later.setTimeInMillis( later.getTimeInMillis() + 100000000 );
+        
+        
+        assertTrue(later.after( Calendar.getInstance() ));
+        
+        rule.setDateEffective(later);
+        assertFalse(rule.isEffective());
+        
+    }
+    
+    public void testDateExpires() throws Exception{
+        Rule rule = new Rule("myrule");
+        
+        
+        assertTrue(rule.isEffective());
+        
+        Calendar earlier = Calendar.getInstance();
+        earlier.setTimeInMillis( 10 );
+        
+        rule.setDateExpires(earlier);
+        
+        
+        assertFalse(rule.isEffective());
+        
+        Calendar later = Calendar.getInstance();
+        later.setTimeInMillis( later.getTimeInMillis() + 100000000 );
+        
+        rule.setDateExpires(later);
+        assertTrue(rule.isEffective());
+        
+    }
+    
+    public void testDateEffectiveExpires() {
+        Rule rule = new Rule("myrule");
+
+        Calendar past = Calendar.getInstance();
+        past.setTimeInMillis( 10 );
+        
+        Calendar future = Calendar.getInstance();
+        future.setTimeInMillis( future.getTimeInMillis() + 100000000 );
+        
+        rule.setDateEffective( past );
+        rule.setDateExpires( future );
+        
+        assertTrue(rule.isEffective());
+        
+        rule.setDateExpires( past );
+        assertFalse(rule.isEffective());
+        
+        rule.setDateExpires( future );
+        rule.setDateEffective( future );
+        
+        assertFalse(rule.isEffective());
+        
+    }
+    
+    public void testRuleEnabled() {
+        Rule rule = new Rule("myrule");
+        rule.setEnabled(false);
+        assertFalse(rule.isEffective());
+        
+        Calendar past = Calendar.getInstance();
+        past.setTimeInMillis( 10 );
+        
+        rule.setDateEffective( past );
+        assertFalse(rule.isEffective());
+        rule.setEnabled(true);
+        
+        assertTrue(rule.isEffective());
+    }
+    
+}


Property changes on: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/RuleTest.java
___________________________________________________________________
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list