fix issue #6: equals and compareTo should be implemented in a consistent way
parent
07af8dc138
commit
1bff470adc
@ -0,0 +1,53 @@
|
||||
package org.easyrules.core.test.parameters;
|
||||
|
||||
import org.easyrules.api.Rule;
|
||||
import org.easyrules.api.RulesEngine;
|
||||
import org.easyrules.core.DefaultRulesEngine;
|
||||
import org.easyrules.core.test.SimpleRule;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
/**
|
||||
* Test class for {@link org.easyrules.core.DefaultRulesEngine}.
|
||||
*
|
||||
* @author Mahmoud Ben Hassine (mahmoud@benhassine.fr)
|
||||
*/
|
||||
public class DefaultRulesEngineTest {
|
||||
|
||||
@Test
|
||||
public void testRulesWithDifferentNameAndDescriptionButWithSamePriority() throws Exception {
|
||||
|
||||
SimpleRule rule1 = new SimpleRule("rule 1", "description 1", 0);
|
||||
SimpleRule rule2 = new SimpleRule("rule 2", "description 2", 0);
|
||||
SimpleRule rule3 = new SimpleRule("rule 3", "description 3", 1);
|
||||
|
||||
RulesEngine<Rule> engine = new DefaultRulesEngine();
|
||||
engine.registerRule(rule1);
|
||||
engine.registerRule(rule2);
|
||||
engine.registerRule(rule3);
|
||||
engine.fireRules();
|
||||
|
||||
assertTrue(rule1.isExecuted());
|
||||
assertTrue(rule2.isExecuted());
|
||||
assertTrue(rule3.isExecuted());
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRulesWithSameNameAndDescriptionAndPriority() throws Exception {
|
||||
|
||||
SimpleRule rule1 = new SimpleRule("rule 1", "description 1", 0);
|
||||
SimpleRule rule2 = new SimpleRule("rule 1", "description 1", 0);
|
||||
|
||||
RulesEngine<Rule> engine = new DefaultRulesEngine();
|
||||
engine.registerRule(rule1);
|
||||
engine.registerRule(rule2);
|
||||
engine.fireRules();
|
||||
|
||||
assertTrue(rule1.isExecuted());
|
||||
assertFalse(rule2.isExecuted());
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue