package jnpf.limsService.support;
|
|
import jnpf.limsEntity.LimsMessageEvent;
|
import jnpf.limsEntity.LimsRecipientRef;
|
import jnpf.limsEntity.LimsRecipientType;
|
|
import java.util.HashSet;
|
import java.util.Set;
|
|
/** Lightweight contract probe; run with its main method in environments without a test runner. */
|
public class LimsMessageContractChecks {
|
public static void main(String[] args) {
|
assertEquals(LimsMessageEvent.INSPECTION_TASK_DUE,
|
LimsMessageEvent.fromCode("LIMS.INSPECTION.TASK.DUE"));
|
assertEquals(LimsMessageEvent.WATER_SAMPLING_DUE,
|
LimsMessageEvent.fromCode("LIMS.WATER.SAMPLING.DUE"));
|
assertEquals(LimsRecipientType.USER, LimsRecipientRef.user("u1").getType());
|
assertEquals(LimsRecipientType.POSITION, LimsRecipientRef.position("p1").getType());
|
assertEquals(LimsRecipientType.ROLE, LimsRecipientRef.role("r1").getType());
|
assertEquals(LimsRecipientType.ROLE_ENCODE, LimsRecipientRef.roleEnCode("ROLE.005").getType());
|
|
Set<String> codes = new HashSet<>();
|
for (LimsMessageEvent event : LimsMessageEvent.values()) {
|
assertTrue(codes.add(event.getCode()), "duplicate event code: " + event.getCode());
|
assertTrue(event.getCode().matches("[A-Z0-9](?:[A-Z0-9.]*[A-Z0-9])?"),
|
"invalid event code: " + event.getCode());
|
}
|
}
|
|
private static void assertEquals(Object expected, Object actual) {
|
if (!expected.equals(actual)) {
|
throw new AssertionError("expected=" + expected + ", actual=" + actual);
|
}
|
}
|
|
private static void assertTrue(boolean value, String message) {
|
if (!value) {
|
throw new AssertionError(message);
|
}
|
}
|
}
|