149 lines
4.5 KiB
Java
149 lines
4.5 KiB
Java
package jmri.jmrit.ussctc;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
|
import jmri.InstanceManager;
|
|
import jmri.JmriException;
|
|
import jmri.Sensor;
|
|
import jmri.Turnout;
|
|
import jmri.util.JUnitUtil;
|
|
|
|
import org.junit.jupiter.api.*;
|
|
|
|
/**
|
|
* Tests for classes in the jmri.jmrit.ussctc.OsIndicator class
|
|
*
|
|
* @author Bob Jacobsen Copyright 2003, 2007, 2015
|
|
*/
|
|
public class OsIndicatorTest {
|
|
|
|
@Test
|
|
public void testCreate() {
|
|
Assertions.assertNotNull( new OsIndicator("IT12", "IS34", "IS56"));
|
|
}
|
|
|
|
@Test
|
|
public void testAccess() {
|
|
OsIndicator os = new OsIndicator("IT12", "IS34", "IS56");
|
|
|
|
assertEquals("IT12", os.getOutputName(), "output");
|
|
assertEquals("IS34", os.getOsSensorName(), "input");
|
|
assertEquals("IS56", os.getLockName(), "lock");
|
|
}
|
|
|
|
@Test
|
|
public void testIntantiateNoLock() throws JmriException {
|
|
OsIndicator os = new OsIndicator("IT12", "IS34", "");
|
|
|
|
Turnout t1 = InstanceManager.turnoutManagerInstance()
|
|
.provideTurnout("IT12");
|
|
t1.setCommandedState(Turnout.CLOSED);
|
|
|
|
Sensor s1 = InstanceManager.sensorManagerInstance()
|
|
.provideSensor("IS34");
|
|
s1.setKnownState(Sensor.INACTIVE);
|
|
|
|
assertEquals(Sensor.INACTIVE, s1.getKnownState(),
|
|
"sensor before");
|
|
assertEquals(Turnout.CLOSED, t1.getCommandedState(),
|
|
"output before");
|
|
|
|
os.instantiate();
|
|
|
|
assertEquals(Sensor.INACTIVE, s1.getKnownState(),
|
|
"sensor after instantiate");
|
|
assertEquals(Turnout.CLOSED, t1.getCommandedState(),
|
|
"output after instantiate");
|
|
}
|
|
|
|
@Test
|
|
public void testIntantiateLocked() throws JmriException {
|
|
OsIndicator os = new OsIndicator("IT12", "IS34", "IS56");
|
|
|
|
Turnout t1 = InstanceManager.turnoutManagerInstance()
|
|
.provideTurnout("IT12");
|
|
t1.setCommandedState(Turnout.CLOSED);
|
|
|
|
Sensor s1 = InstanceManager.sensorManagerInstance()
|
|
.provideSensor("IS34");
|
|
s1.setKnownState(Sensor.INACTIVE);
|
|
|
|
Sensor s2 = InstanceManager.sensorManagerInstance()
|
|
.provideSensor("IS56");
|
|
s2.setKnownState(Sensor.INACTIVE);
|
|
|
|
assertEquals(Sensor.INACTIVE, s1.getKnownState(),
|
|
"sensor before");
|
|
assertEquals(Sensor.INACTIVE, s2.getKnownState(),
|
|
"lock before");
|
|
assertEquals(Turnout.CLOSED, t1.getCommandedState(),
|
|
"output before");
|
|
|
|
os.instantiate();
|
|
|
|
assertEquals(Sensor.INACTIVE, s1.getKnownState(),
|
|
"sensor after instantiate");
|
|
assertEquals(Sensor.INACTIVE, s2.getKnownState(),
|
|
"lock after instantiate");
|
|
assertEquals(Turnout.CLOSED, t1.getCommandedState(),
|
|
"output after instantiate");
|
|
}
|
|
|
|
@Test
|
|
public void testInvokeNoLock() throws JmriException {
|
|
OsIndicator os = new OsIndicator("IT12", "IS34", "");
|
|
|
|
Turnout t1 = InstanceManager.turnoutManagerInstance()
|
|
.provideTurnout("IT12");
|
|
t1.setCommandedState(Turnout.CLOSED);
|
|
|
|
Sensor s1 = InstanceManager.sensorManagerInstance()
|
|
.provideSensor("IS34");
|
|
s1.setKnownState(Sensor.INACTIVE);
|
|
|
|
assertEquals(Sensor.INACTIVE, s1.getKnownState(),
|
|
"sensor before");
|
|
assertEquals(Turnout.CLOSED, t1.getCommandedState(),
|
|
"output before");
|
|
|
|
os.instantiate();
|
|
|
|
assertEquals(Sensor.INACTIVE, s1.getKnownState(),
|
|
"sensor after instantiate");
|
|
assertEquals(Turnout.CLOSED, t1.getCommandedState(),
|
|
"output after instantiate");
|
|
|
|
// and change
|
|
s1.setKnownState(Sensor.ACTIVE);
|
|
|
|
assertEquals(Sensor.ACTIVE, s1.getKnownState(),
|
|
"sensor after activate");
|
|
assertEquals(Turnout.THROWN, t1.getCommandedState(),
|
|
"output after activate");
|
|
|
|
s1.setKnownState(Sensor.INACTIVE);
|
|
|
|
assertEquals(Sensor.INACTIVE, s1.getKnownState(),
|
|
"sensor after inactivate");
|
|
assertEquals(Turnout.CLOSED, t1.getCommandedState(),
|
|
"output after inactivate");
|
|
|
|
}
|
|
|
|
@BeforeEach
|
|
public void setUp() {
|
|
JUnitUtil.setUp();
|
|
|
|
JUnitUtil.resetInstanceManager();
|
|
JUnitUtil.initInternalTurnoutManager();
|
|
JUnitUtil.initInternalSensorManager();
|
|
}
|
|
|
|
@AfterEach
|
|
public void tearDown() {
|
|
JUnitUtil.deregisterBlockManagerShutdownTask();
|
|
JUnitUtil.tearDown();
|
|
}
|
|
|
|
}
|