Constraint cons = new MandatoryFieldConstraint();
System.out.println("\n\n\n"+cons.getVerifierRule(conf)+"\n\n\n");
vconf.getVerifyingResources().put(ResourceFactory.newByteArrayResource(cons.getVerifierRule(conf).getBytes()), ResourceType.DRL);
Verifier verifier = vBuilder.newVerifier(vconf);
verifier.addResourcesToVerify(ResourceFactory.newByteArrayResource(ruleToVerify.getBytes()),
ResourceType.DRL);
if (verifier.hasErrors()) {
for (VerifierError error : verifier.getErrors()) {
System.out.println(error.getMessage());
}
throw new RuntimeException("Error building verifier");
}
assertFalse(verifier.hasErrors());
boolean noProblems = verifier.fireAnalysis();
assertTrue(noProblems);
VerifierReport result = verifier.getResult();
Collection<VerifierMessageBase> errors = result.getBySeverity(Severity.ERROR);
List<String> ruleNames = new ArrayList<String>();
int counter = 0;
for (VerifierMessageBase message : errors) {
ruleNames.addAll(message.getImpactedRules().values());
System.out.println(message);
counter++;
}
assertEquals(fail, counter);
int[] failingRuleNumbers = {2, 3, 5, 8, 10, 11};
for (int i = 0; i < failingRuleNumbers.length; i++) {
int j = failingRuleNumbers[i];
ruleNames.contains("rule"+j);
}
verifier.dispose();
}