package xiaozhi.modules.parent.mqtt; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.Map; import org.junit.jupiter.api.Test; class ParentDevicePresenceTest { @Test void liveStateStaysOnlineWhenWifiApLookupFails() { assertTrue(ParentDevicePresence.payloadMeansOnline(Map.of( "online", true, "net", "offline", "mac", "14:c1:9f:49:43:a4"))); } @Test void lastWillMarksDeviceOffline() { assertFalse(ParentDevicePresence.payloadMeansOnline(Map.of( "online", false, "net", "offline"))); } @Test void wifiHeartbeatStaysOnline() { assertTrue(ParentDevicePresence.payloadMeansOnline(Map.of( "online", true, "net", "wifi"))); } @Test void emptyPayloadIsOffline() { assertFalse(ParentDevicePresence.payloadMeansOnline(Map.of())); } }