package cn.iocoder.yudao.module.mes.service.safety;
|
import org.junit.jupiter.api.Test;
|
import java.math.BigDecimal;
|
import static org.junit.jupiter.api.Assertions.*;
|
class SafetyRiskThresholdTest {
|
@Test void normalAndOutOfRange() {
|
assertEquals("NORMAL", SafetyRiskThreshold.evaluate(new BigDecimal("5"), BigDecimal.ZERO, BigDecimal.TEN));
|
assertEquals("ALARM", SafetyRiskThreshold.evaluate(new BigDecimal("11"), BigDecimal.ZERO, BigDecimal.TEN));
|
assertEquals("ALARM", SafetyRiskThreshold.evaluate(new BigDecimal("-1"), BigDecimal.ZERO, BigDecimal.TEN));
|
}
|
@Test void noDataOrNoLimitIsUnknown() {
|
assertEquals("UNKNOWN", SafetyRiskThreshold.evaluate(null, BigDecimal.ZERO, BigDecimal.TEN));
|
assertEquals("UNKNOWN", SafetyRiskThreshold.evaluate(BigDecimal.ONE, null, null));
|
}
|
@Test void reversedLimitsAreRejected() {
|
assertThrows(IllegalArgumentException.class, () -> SafetyRiskThreshold.evaluate(BigDecimal.ONE, BigDecimal.TEN, BigDecimal.ZERO));
|
}
|
}
|