package cn.iocoder.yudao.module.mes.service.dv.telemetry; import org.junit.jupiter.api.Test; import java.time.LocalDateTime; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; class MesDvTelemetryServiceImplTest { private static final LocalDateTime REFERENCE_TIME = LocalDateTime.of(2026, 11, 7, 15, 30); @Test void isAcceptableTelemetryTime_acceptsCurrentTimeAndClockSkew() { assertTrue(MesDvTelemetryServiceImpl.isAcceptableTelemetryTime(REFERENCE_TIME, REFERENCE_TIME)); assertTrue(MesDvTelemetryServiceImpl.isAcceptableTelemetryTime( REFERENCE_TIME.plusMinutes(5), REFERENCE_TIME)); } @Test void isAcceptableTelemetryTime_rejectsMissingAndFutureTime() { assertFalse(MesDvTelemetryServiceImpl.isAcceptableTelemetryTime(null, REFERENCE_TIME)); assertFalse(MesDvTelemetryServiceImpl.isAcceptableTelemetryTime( LocalDateTime.of(2026, 12, 24, 0, 0), REFERENCE_TIME)); assertFalse(MesDvTelemetryServiceImpl.isAcceptableTelemetryTime( REFERENCE_TIME.plusMinutes(5).plusNanos(1), REFERENCE_TIME)); } }