use of de.prob.model.brules.RulesChecker in project prob2 by bendisposto.
the class RulesCheckerTest method testExecuteAllOperations.
@Test
public void testExecuteAllOperations() throws IOException {
StateSpace s = api.brules_load(dir + "RulesMachineExample.rmch");
Trace trace = new Trace(s);
RulesChecker rulesChecker = new RulesChecker(trace);
rulesChecker.init();
rulesChecker.executeAllOperations();
for (Entry<AbstractOperation, OperationStatus> entry : rulesChecker.getOperationStates().entrySet()) {
OperationStatus state = entry.getValue();
if (entry.getKey().getName().equals("RULE_BasedOnRuleWithViolations")) {
assertEquals(RuleStatus.NOT_CHECKED, state);
} else {
assertTrue(state.isExecuted());
}
}
}
use of de.prob.model.brules.RulesChecker in project prob2 by bendisposto.
the class RulesCheckerTest method testExecuteOperation.
@Test
public void testExecuteOperation() throws IOException {
StateSpace s = api.brules_load(dir + "RulesMachineExample.rmch");
RulesChecker checker = new RulesChecker(new Trace(s));
boolean possible = checker.executeOperationAndDependencies("RULE_BasedOnValue1");
assertEquals(true, possible);
assertEquals(RuleStatus.FAIL, checker.getOperationState("RULE_BasedOnValue1"));
assertEquals(RuleStatus.NOT_CHECKED, checker.getOperationState("RULE_WithViolations"));
checker.executeOperationAndDependencies("RULE_WithViolations");
assertEquals(RuleStatus.FAIL, checker.getOperationState("RULE_WithViolations"));
boolean possible2 = checker.executeOperationAndDependencies("RULE_BasedOnRuleWithViolations");
assertEquals(false, possible2);
assertEquals(RuleStatus.NOT_CHECKED, checker.getOperationState("RULE_BasedOnRuleWithViolations"));
}
Aggregations