107 lines
3.2 KiB
Java
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() {
|
|
}
|
|
|
|
}
|