package jnpf.limsService.support;
|
|
import java.math.BigDecimal;
|
import java.util.Arrays;
|
|
public class LimsWendingxingFenxiSupportChecks {
|
|
public static void main(String[] args) {
|
assertEquals(new BigDecimal("6.70"), LimsWendingxingFenxiSupport.strictDecimal(" 6.70 "),
|
"纯数值必须保留精度");
|
assertEquals(null, LimsWendingxingFenxiSupport.strictDecimal("<0.01"),
|
"带限定符的结果不能进入折线图");
|
assertEquals(null, LimsWendingxingFenxiSupport.strictDecimal("未检出"),
|
"文字结果不能进入折线图");
|
assertEquals(Arrays.asList("a", "b"),
|
LimsWendingxingFenxiSupport.normalizeIds(Arrays.asList(" a ", "b", "a", "")),
|
"ID 必须去空格、去空值并保持首次出现顺序");
|
assertTrue(LimsWendingxingFenxiSupport.periodOrder(new BigDecimal("7"), "天")
|
< LimsWendingxingFenxiSupport.periodOrder(new BigDecimal("1"), "月"),
|
"混合周期单位必须按归一化时长排序");
|
assertEquals("oos", LimsWendingxingFenxiSupport.exceptionType(
|
"oos", "compliant", new BigDecimal("6"), new BigDecimal("5"), new BigDecimal("7")),
|
"OOS 调查类型优先");
|
assertEquals("non_compliant", LimsWendingxingFenxiSupport.exceptionType(
|
"na", "non_compliant", new BigDecimal("6"), null, null),
|
"不符合规定结论必须展示");
|
assertEquals("out_of_limit", LimsWendingxingFenxiSupport.exceptionType(
|
"na", "compliant", new BigDecimal("8"), new BigDecimal("5"), new BigDecimal("7")),
|
"未归类的超限结果必须标为待确认");
|
assertEquals("ad", LimsWendingxingFenxiSupport.exceptionType(
|
"ad", "compliant", null, null, null), "AD 调查类型必须展示");
|
}
|
|
private static void assertEquals(Object expected, Object actual, String message) {
|
if (expected == null ? actual != null : !expected.equals(actual)) {
|
throw new AssertionError(message + ": expected=" + expected + ", actual=" + actual);
|
}
|
}
|
|
private static void assertTrue(boolean actual, String message) {
|
if (!actual) {
|
throw new AssertionError(message);
|
}
|
}
|
}
|