Issue #57: Tests
parent
7562bc72f2
commit
1200080f8a
@ -0,0 +1,109 @@
|
||||
package org.easyrules;
|
||||
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.easyrules.core.RulesEngineBuilder.aNewRulesEngine;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.easyrules.api.Rule;
|
||||
import org.easyrules.api.RulesEngine;
|
||||
import org.easyrules.core.BasicRule;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
|
||||
public class BasicRuleTest {
|
||||
|
||||
private static RulesEngine rulesEngine;
|
||||
|
||||
|
||||
@BeforeClass
|
||||
public static void init() {
|
||||
rulesEngine = aNewRulesEngine().build();
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testCompareTo() {
|
||||
FirstRule rule1 = new FirstRule();
|
||||
FirstRule rule2 = new FirstRule();
|
||||
|
||||
assertThat(rule1.compareTo(rule2)).isEqualTo(0);
|
||||
assertThat(rule2.compareTo(rule1)).isEqualTo(0);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testSortSequence() {
|
||||
FirstRule rule1 = new FirstRule();
|
||||
SecondRule rule2 = new SecondRule();
|
||||
ThirdRule rule3 = new ThirdRule();
|
||||
|
||||
rulesEngine.registerRule(rule1);
|
||||
rulesEngine.registerRule(rule2);
|
||||
rulesEngine.registerRule(rule3);
|
||||
|
||||
rulesEngine.checkRules();
|
||||
Set<Rule> theRules = rulesEngine.getRules();
|
||||
assertThat(theRules).containsSequence(rule1, rule3, rule2);
|
||||
}
|
||||
|
||||
class FirstRule extends BasicRule {
|
||||
@Override
|
||||
public int getPriority() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean evaluate() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "rule1";
|
||||
}
|
||||
}
|
||||
|
||||
class SecondRule extends BasicRule {
|
||||
@Override
|
||||
public int getPriority() {
|
||||
return 3;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean evaluate() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "rule2";
|
||||
}
|
||||
}
|
||||
|
||||
class ThirdRule extends BasicRule {
|
||||
@Override
|
||||
public int getPriority() {
|
||||
return 2;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean evaluate() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "rule3";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue