package com.battery.device.api;
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
import java.util.Set;
|
import org.junit.jupiter.api.Test;
|
import com.battery.device.api.model.ChannelIdentity;
|
import com.battery.device.api.model.DeviceConnectionStatus;
|
import com.battery.device.api.model.DeviceWorkStatus;
|
import com.battery.device.api.model.ObservationFailureReason;
|
|
class DeviceObservationContractTest
|
{
|
@Test
|
void noopUsesTheObservationContractWithoutExternalSideEffects()
|
{
|
ChannelIdentity channel = new ChannelIdentity("noop", 1, 2, 3, 4);
|
try (DeviceObservationAdapter adapter = new NoopDeviceAdapter("noop"))
|
{
|
var observation = adapter.observe(Set.of(channel)).get(channel);
|
assertEquals(DeviceConnectionStatus.OFFLINE, observation.connectionStatus());
|
assertEquals(DeviceWorkStatus.UNOBSERVABLE, observation.workStatus());
|
assertEquals(ObservationFailureReason.OFFLINE, observation.failureReason());
|
assertFalse(adapter.capabilities().control());
|
}
|
}
|
}
|