Files
JIMRI/java/test/jmri/jmrix/ipocs/IpocsLightTest.java
T
2026-06-17 14:00:51 +02:00

107 lines
3.2 KiB
Java

package jmri.jmrix.ipocs;
import static org.junit.Assert.assertThrows;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.Mockito.mock;
import org.junit.jupiter.api.*;
import jmri.Light;
import jmri.jmrix.ipocs.protocol.Message;
import jmri.jmrix.ipocs.protocol.enums.RqOutputState;
import jmri.jmrix.ipocs.protocol.packets.OutputStatusPacket;
import jmri.util.JUnitUtil;
public class IpocsLightTest extends jmri.implementation.AbstractLightTestBase {
@Test
public void constructorTest() {
IpocsPortController portController = mock(IpocsPortController.class);
assertNotNull(new IpocsLight(portController, "ee33", "Li91"));
}
@Test
public void doNewStateTest() {
IpocsPortController portController = mock(IpocsPortController.class);
IpocsLight light = new IpocsLight(portController, "ee33", "Li91");
light.doNewState(-1, Light.ON);
//assertEquals(Light.ON, light.getState());
light.doNewState(-1, Light.OFF);
//assertEquals(Light.OFF, light.getState());
light.doNewState(-1, Light.UNKNOWN);
//assertEquals(Light.OFF, light.getState());
}
@Test
public void setStateTest() {
IpocsPortController portController = mock(IpocsPortController.class);
IpocsLight light = new IpocsLight(portController, "ee33", "Li91");
light.setState(Light.ON);
light.setState(Light.OFF);
light.setState(Light.UNKNOWN);
assertThrows(IllegalArgumentException.class, () -> light.setState(Light.INTERMEDIATE));
}
@Test
public void clientConnectedTest() {
IpocsPortController portController = mock(IpocsPortController.class);
IpocsLight light = new IpocsLight(portController, "ee33", "Li91");
light.clientConnected(mock(IpocsClientHandler.class));
}
@Test
public void clientDisconnectedTest() {
IpocsPortController portController = mock(IpocsPortController.class);
IpocsLight light = new IpocsLight(portController, "ee33", "Li91");
light.clientDisconnected(mock(IpocsClientHandler.class));
}
@Test
public void onMessageTest() {
IpocsPortController portController = mock(IpocsPortController.class);
IpocsLight light = new IpocsLight(portController, "ee33", "Li91");
IpocsClientHandler client = mock(IpocsClientHandler.class);
Message msg = new Message();
msg.setObjectName("Li92");
light.onMessage(client, msg);
msg.setObjectName("Li91");
light.onMessage(client, msg);
OutputStatusPacket pkt = new OutputStatusPacket();
msg.getPackets().add(pkt);
pkt.setState(RqOutputState.Off);
light.onMessage(client, msg);
pkt.setState(RqOutputState.On);
light.onMessage(client, msg);
}
@BeforeEach
@Override
public void setUp() {
JUnitUtil.setUp();
IpocsPortController portController = mock(IpocsPortController.class);
t = new IpocsLight(portController, "EL33", "Light9F1");
}
@AfterEach
public void tearDown() {
t.dispose();
t = null;
JUnitUtil.tearDown();
}
@Override
public int numListeners() {
return 0;
}
// Test requires further development
@Override
public void checkOnMsgSent() {
}
// Test requires further development
@Override
public void checkOffMsgSent() {
}
}