diff --git a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/CompositePriorityRuleTest.java b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/CompositePriorityRuleTest.java deleted file mode 100644 index f3faae8..0000000 --- a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/CompositePriorityRuleTest.java +++ /dev/null @@ -1,81 +0,0 @@ -package io.github.benas.easyrules.core.test; - -import io.github.benas.easyrules.api.RulesEngine; -import io.github.benas.easyrules.core.PriorityRulesEngine; -import org.junit.Before; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -/** - * Test class for composite priority rule execution. - * - * @author Mahmoud Ben Hassine (md.benhassine@gmail.com) - */ -public class CompositePriorityRuleTest { - - private SimplePriorityRule rule1, rule2; - - private SimpleCompositePriorityRule compositeRule; - - private RulesEngine rulesEngine; - - @Before - public void setup(){ - - rule1 = new SimplePriorityRule("r1","d1",1); - rule2 = new SimplePriorityRule("r2","d2",2); - - compositeRule = new SimpleCompositePriorityRule("cp", "crd"); - - rulesEngine = new PriorityRulesEngine(); - } - - @Test - public void testCompositeRule() { - - compositeRule.addRule(rule1); - compositeRule.addRule(rule2); - - rulesEngine.registerRule(compositeRule); - - rulesEngine.fireRules(); - - //Rule 1 should be executed - assertEquals(true, rule1.isExecuted()); - - //Rule 2 should be executed - assertEquals(true, rule2.isExecuted()); - - //The composite Rule should be executed - assertEquals(true, compositeRule.isExecuted()); - - } - - @Test - public void testCompositeRuleWithARuleThatEvaluateToFalse() { - - compositeRule.addRule(rule1); - - rule2 = new SimplePriorityRuleThatEvaluateToFalse("r2","d2",2); - - compositeRule.addRule(rule2); - - rulesEngine.registerRule(compositeRule); - - rulesEngine.fireRules(); - - //The composite rule and composing rules should not be executed since not all rules conditions evaluate to TRUE - - //Rule 1 should not be executed - assertEquals(false, rule1.isExecuted()); - - //Rule 2 should not be executed - assertEquals(false, rule2.isExecuted()); - - //The composite Rule not should be executed - assertEquals(false, compositeRule.isExecuted()); - - } - -} diff --git a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/EasyRulesTestSuite.java b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/EasyRulesTestSuite.java index 86a3794..57c5c12 100644 --- a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/EasyRulesTestSuite.java +++ b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/EasyRulesTestSuite.java @@ -1,5 +1,11 @@ package io.github.benas.easyrules.core.test; +import io.github.benas.easyrules.core.test.annotation.EasyRulesAnnotationTestSuite; +import io.github.benas.easyrules.core.test.composite.CompositeRuleTest; +import io.github.benas.easyrules.core.test.jmx.JmxRuleRegistrationTest; +import io.github.benas.easyrules.core.test.parameters.RulePriorityComparisonTest; +import io.github.benas.easyrules.core.test.parameters.RulePriorityThresholdTest; +import io.github.benas.easyrules.core.test.parameters.SkipOnFirstAppliedRuleTest; import junit.framework.TestSuite; import org.junit.runner.RunWith; import org.junit.runners.Suite; @@ -17,7 +23,7 @@ import org.junit.runners.Suite; SkipOnFirstAppliedRuleTest.class, JmxRuleRegistrationTest.class, CompositeRuleTest.class, - CompositePriorityRuleTest.class}) + EasyRulesAnnotationTestSuite.class}) public class EasyRulesTestSuite extends TestSuite { } diff --git a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleCompositePriorityRule.java b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleCompositePriorityRule.java deleted file mode 100644 index 850725f..0000000 --- a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleCompositePriorityRule.java +++ /dev/null @@ -1,28 +0,0 @@ -package io.github.benas.easyrules.core.test; - -import io.github.benas.easyrules.core.CompositePriorityRule; - -/** - * Simple composite rule class used for tests. - * - * @author Mahmoud Ben Hassine (md.benhassine@gmail.com) - */ -public class SimpleCompositePriorityRule extends CompositePriorityRule { - - protected boolean executed; - - public SimpleCompositePriorityRule(String name, String description) { - super(name, description); - } - - @Override - public void performActions() throws Exception { - super.performActions(); - executed = true; - } - - public boolean isExecuted() { - return executed; - } - -} diff --git a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimplePriorityRule.java b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimplePriorityRule.java deleted file mode 100644 index 16be391..0000000 --- a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimplePriorityRule.java +++ /dev/null @@ -1,35 +0,0 @@ -package io.github.benas.easyrules.core.test; - -import io.github.benas.easyrules.core.BasicPriorityRule; - -/** - * Simple priority rule class used for tests. - * - * @author Mahmoud Ben Hassine (md.benhassine@gmail.com) - */ -public class SimplePriorityRule extends BasicPriorityRule { - - /** - * Has the rule been executed? . - */ - protected boolean executed; - - public SimplePriorityRule(String name, String description, int priority) { - super(name, description, priority); - } - - @Override - public boolean evaluateConditions() { - return true; - } - - @Override - public void performActions() throws Exception { - executed = true; - } - - public boolean isExecuted() { - return executed; - } - -} diff --git a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimplePriorityRuleThatEvaluateToFalse.java b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimplePriorityRuleThatEvaluateToFalse.java deleted file mode 100644 index f724bb8..0000000 --- a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimplePriorityRuleThatEvaluateToFalse.java +++ /dev/null @@ -1,19 +0,0 @@ -package io.github.benas.easyrules.core.test; - -/** - * Simple priority rule class used for tests. - * - * @author Mahmoud Ben Hassine (md.benhassine@gmail.com) - */ -public class SimplePriorityRuleThatEvaluateToFalse extends SimplePriorityRule { - - public SimplePriorityRuleThatEvaluateToFalse(String name, String description, int priority) { - super(name, description, priority); - } - - @Override - public boolean evaluateConditions() { - return false; - } - -} diff --git a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimplePriorityRuleThatThrowsException.java b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimplePriorityRuleThatThrowsException.java deleted file mode 100644 index 99de684..0000000 --- a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimplePriorityRuleThatThrowsException.java +++ /dev/null @@ -1,19 +0,0 @@ -package io.github.benas.easyrules.core.test; - -/** - * Simple priority rule class used for tests. - * - * @author Mahmoud Ben Hassine (md.benhassine@gmail.com) - */ -public class SimplePriorityRuleThatThrowsException extends SimplePriorityRule { - - public SimplePriorityRuleThatThrowsException(String name, String description, int priority) { - super(name, description, priority); - } - - @Override - public void performActions() throws Exception { - throw new Exception("An exception occurred in SimplePriorityRuleThatThrowsException.performActions"); - } - -} diff --git a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleRule.java b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleRule.java index 7dc19d0..c1557ce 100644 --- a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleRule.java +++ b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleRule.java @@ -1,6 +1,5 @@ package io.github.benas.easyrules.core.test; -import io.github.benas.easyrules.core.BasicPriorityRule; import io.github.benas.easyrules.core.BasicRule; /** @@ -19,6 +18,10 @@ public class SimpleRule extends BasicRule { super(name, description); } + public SimpleRule(String name, String description, int priority) { + super(name, description, priority); + } + @Override public boolean evaluateConditions() { return true; diff --git a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleRuleThatEvaluateToFalse.java b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleRuleThatEvaluateToFalse.java index f39ee4c..b10d1c4 100644 --- a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleRuleThatEvaluateToFalse.java +++ b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleRuleThatEvaluateToFalse.java @@ -11,6 +11,10 @@ public class SimpleRuleThatEvaluateToFalse extends SimpleRule { super(name, description); } + public SimpleRuleThatEvaluateToFalse(String name, String description, int priority) { + super(name, description, priority); + } + @Override public boolean evaluateConditions() { return false; diff --git a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleRuleThatThrowsException.java b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleRuleThatThrowsException.java index 1d9826a..be826c0 100644 --- a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleRuleThatThrowsException.java +++ b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleRuleThatThrowsException.java @@ -11,6 +11,10 @@ public class SimpleRuleThatThrowsException extends SimpleRule { super(name, description); } + public SimpleRuleThatThrowsException(String name, String description, int priority) { + super(name, description, priority); + } + @Override public void performActions() throws Exception { throw new Exception("An exception occurred in SimpleRuleThatThrowsException.performActions"); diff --git a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/CompositeRuleTest.java b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/composite/CompositeRuleTest.java similarity index 81% rename from easyrules-core/src/test/java/io/github/benas/easyrules/core/test/CompositeRuleTest.java rename to easyrules-core/src/test/java/io/github/benas/easyrules/core/test/composite/CompositeRuleTest.java index 1ae6754..52eed2d 100644 --- a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/CompositeRuleTest.java +++ b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/composite/CompositeRuleTest.java @@ -1,8 +1,10 @@ -package io.github.benas.easyrules.core.test; +package io.github.benas.easyrules.core.test.composite; +import io.github.benas.easyrules.api.Rule; import io.github.benas.easyrules.api.RulesEngine; -import io.github.benas.easyrules.core.BasicRule; import io.github.benas.easyrules.core.DefaultRulesEngine; +import io.github.benas.easyrules.core.test.SimpleRule; +import io.github.benas.easyrules.core.test.SimpleRuleThatEvaluateToFalse; import org.junit.Before; import org.junit.Test; @@ -19,7 +21,7 @@ public class CompositeRuleTest { private SimpleCompositeRule compositeRule; - private RulesEngine rulesEngine; + private RulesEngine rulesEngine; @Before public void setup(){ @@ -33,7 +35,7 @@ public class CompositeRuleTest { } @Test - public void testCompositeRule() { + public void compositeRuleAndComposingRulesMustBeExecuted() { compositeRule.addRule(rule1); compositeRule.addRule(rule2); @@ -54,7 +56,7 @@ public class CompositeRuleTest { } @Test - public void testCompositeRuleWithARuleThatEvaluateToFalse() { + public void compositeRuleMustNotBeExecutedIfAComposingRuleEvaluatesToFalse() { compositeRule.addRule(rule1); diff --git a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleCompositeRule.java b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/composite/SimpleCompositeRule.java similarity index 91% rename from easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleCompositeRule.java rename to easyrules-core/src/test/java/io/github/benas/easyrules/core/test/composite/SimpleCompositeRule.java index d0a45cd..ec66b17 100644 --- a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SimpleCompositeRule.java +++ b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/composite/SimpleCompositeRule.java @@ -1,4 +1,4 @@ -package io.github.benas.easyrules.core.test; +package io.github.benas.easyrules.core.test.composite; import io.github.benas.easyrules.core.CompositeRule; diff --git a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/JmxRuleRegistrationTest.java b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/jmx/JmxRuleRegistrationTest.java similarity index 76% rename from easyrules-core/src/test/java/io/github/benas/easyrules/core/test/JmxRuleRegistrationTest.java rename to easyrules-core/src/test/java/io/github/benas/easyrules/core/test/jmx/JmxRuleRegistrationTest.java index c37045d..ca830c2 100644 --- a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/JmxRuleRegistrationTest.java +++ b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/jmx/JmxRuleRegistrationTest.java @@ -1,12 +1,9 @@ -package io.github.benas.easyrules.core.test; +package io.github.benas.easyrules.core.test.jmx; -import io.github.benas.easyrules.api.PriorityRule; import io.github.benas.easyrules.api.Rule; import io.github.benas.easyrules.api.RulesEngine; -import io.github.benas.easyrules.core.BasicPriorityRule; import io.github.benas.easyrules.core.BasicRule; import io.github.benas.easyrules.core.DefaultRulesEngine; -import io.github.benas.easyrules.core.PriorityRulesEngine; import org.junit.Before; import org.junit.Test; @@ -23,16 +20,16 @@ import static org.junit.Assert.assertNotNull; */ public class JmxRuleRegistrationTest { - private PriorityRule rule; + private Rule rule; - private PriorityRulesEngine rulesEngine; + private RulesEngine rulesEngine; @Before public void setup(){ - rule = new BasicPriorityRule(); + rule = new BasicRule(); - rulesEngine = new PriorityRulesEngine(); + rulesEngine = new DefaultRulesEngine(); } @Test diff --git a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/RulePriorityComparisonTest.java b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/parameters/RulePriorityComparisonTest.java similarity index 86% rename from easyrules-core/src/test/java/io/github/benas/easyrules/core/test/RulePriorityComparisonTest.java rename to easyrules-core/src/test/java/io/github/benas/easyrules/core/test/parameters/RulePriorityComparisonTest.java index 6ca1413..adce6e1 100644 --- a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/RulePriorityComparisonTest.java +++ b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/parameters/RulePriorityComparisonTest.java @@ -22,10 +22,8 @@ * THE SOFTWARE. */ -package io.github.benas.easyrules.core.test; +package io.github.benas.easyrules.core.test.parameters; -import io.github.benas.easyrules.api.PriorityRule; -import io.github.benas.easyrules.core.BasicPriorityRule; import io.github.benas.easyrules.core.BasicRule; import org.junit.Before; import org.junit.Test; @@ -38,12 +36,12 @@ import static org.junit.Assert.*; */ public class RulePriorityComparisonTest { - private BasicPriorityRule rule1, rule2; + private BasicRule rule1, rule2; @Before public void setup(){ - rule1 = new BasicPriorityRule("r1","d1",1); - rule2 = new BasicPriorityRule("r2","d2",2); + rule1 = new BasicRule("r1","d1",1); + rule2 = new BasicRule("r2","d2",2); } @Test diff --git a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/RulePriorityThresholdTest.java b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/parameters/RulePriorityThresholdTest.java similarity index 73% rename from easyrules-core/src/test/java/io/github/benas/easyrules/core/test/RulePriorityThresholdTest.java rename to easyrules-core/src/test/java/io/github/benas/easyrules/core/test/parameters/RulePriorityThresholdTest.java index ac0c590..571f1d6 100644 --- a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/RulePriorityThresholdTest.java +++ b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/parameters/RulePriorityThresholdTest.java @@ -22,10 +22,12 @@ * THE SOFTWARE. */ -package io.github.benas.easyrules.core.test; +package io.github.benas.easyrules.core.test.parameters; +import io.github.benas.easyrules.api.Rule; import io.github.benas.easyrules.api.RulesEngine; -import io.github.benas.easyrules.core.PriorityRulesEngine; +import io.github.benas.easyrules.core.DefaultRulesEngine; +import io.github.benas.easyrules.core.test.SimpleRule; import org.junit.Before; import org.junit.Test; @@ -38,26 +40,26 @@ import static org.junit.Assert.assertEquals; */ public class RulePriorityThresholdTest { - private SimplePriorityRule rule1, rule2; + private SimpleRule rule1, rule2; - private RulesEngine rulesEngine; + private RulesEngine defaultRulesEngine; @Before public void setup(){ - rule1 = new SimplePriorityRule("r1","d1",1); - rule2 = new SimplePriorityRule("r2","d2",2); + rule1 = new SimpleRule("r1","d1"); + rule2 = new SimpleRule("r2","d2"); - rulesEngine = new PriorityRulesEngine(1); + defaultRulesEngine = new DefaultRulesEngine(); } @Test - public void testRulePriorityThreshold() { + public void rulesThatExceedPriorityThresholdMustNotBeExecuted() { - rulesEngine.registerRule(rule1); - rulesEngine.registerRule(rule2); + defaultRulesEngine.registerRule(rule1); + defaultRulesEngine.registerRule(rule2); - rulesEngine.fireRules(); + defaultRulesEngine.fireRules(); //Rule 1 should be executed assertEquals(true, rule1.isExecuted()); diff --git a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SkipOnFirstAppliedRuleTest.java b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/parameters/SkipOnFirstAppliedRuleTest.java similarity index 80% rename from easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SkipOnFirstAppliedRuleTest.java rename to easyrules-core/src/test/java/io/github/benas/easyrules/core/test/parameters/SkipOnFirstAppliedRuleTest.java index ebedf62..523e244 100644 --- a/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/SkipOnFirstAppliedRuleTest.java +++ b/easyrules-core/src/test/java/io/github/benas/easyrules/core/test/parameters/SkipOnFirstAppliedRuleTest.java @@ -22,10 +22,13 @@ * THE SOFTWARE. */ -package io.github.benas.easyrules.core.test; +package io.github.benas.easyrules.core.test.parameters; +import io.github.benas.easyrules.api.Rule; import io.github.benas.easyrules.api.RulesEngine; -import io.github.benas.easyrules.core.PriorityRulesEngine; +import io.github.benas.easyrules.core.DefaultRulesEngine; +import io.github.benas.easyrules.core.test.SimpleRule; +import io.github.benas.easyrules.core.test.SimpleRuleThatThrowsException; import org.junit.Before; import org.junit.Test; @@ -38,21 +41,21 @@ import static org.junit.Assert.assertEquals; */ public class SkipOnFirstAppliedRuleTest { - private SimplePriorityRule rule1, rule2; + private SimpleRule rule1, rule2; - private SimplePriorityRuleThatThrowsException rule0; + private SimpleRuleThatThrowsException rule0; - private RulesEngine rulesEngine; + private RulesEngine rulesEngine; @Before public void setup(){ - rule1 = new SimplePriorityRule("r1","d1",1); - rule2 = new SimplePriorityRule("r2","d2",2); + rule1 = new SimpleRule("r1","d1",1); + rule2 = new SimpleRule("r2","d2",2); - rule0 = new SimplePriorityRuleThatThrowsException("r0","d0",0); + rule0 = new SimpleRuleThatThrowsException("r0","d0",0); - rulesEngine = new PriorityRulesEngine(true); + rulesEngine = new DefaultRulesEngine(true); } @Test