From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 jnpf-lims/jnpf-lims-biz/src/test/java/jnpf/limsService/support/LimsMessageContractChecks.java |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/jnpf-lims/jnpf-lims-biz/src/test/java/jnpf/limsService/support/LimsMessageContractChecks.java b/jnpf-lims/jnpf-lims-biz/src/test/java/jnpf/limsService/support/LimsMessageContractChecks.java
new file mode 100644
index 0000000..bf65fe2
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-biz/src/test/java/jnpf/limsService/support/LimsMessageContractChecks.java
@@ -0,0 +1,41 @@
+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);
+        }
+    }
+}

--
Gitblit v1.8.0