1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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));
    }
}