72 lines
2.0 KiB
Java
72 lines
2.0 KiB
Java
package jmri.jmrix.sprog;
|
|
|
|
import jmri.util.JUnitUtil;
|
|
|
|
import org.junit.Assert;
|
|
import org.junit.jupiter.api.*;
|
|
|
|
/**
|
|
* Tests for SprogCSTurnout.
|
|
*
|
|
* @author Paul Bender Copyright (C) 2016
|
|
*/
|
|
public class SprogCSTurnoutTest extends jmri.implementation.AbstractTurnoutTestBase {
|
|
|
|
private SprogTrafficControlScaffold stcs = null;
|
|
private SprogSystemConnectionMemo m = null;
|
|
|
|
@Override
|
|
public int numListeners() {
|
|
return stcs.numListeners();
|
|
}
|
|
|
|
@Override
|
|
public void checkThrownMsgSent() {
|
|
Assert.assertArrayEquals("slot contents",jmri.NmraPacket.accDecoderPkt(2,false),m.getCommandStation().slot(0).getPayload());
|
|
}
|
|
|
|
@Override
|
|
public void checkClosedMsgSent() {
|
|
Assert.assertArrayEquals("slot contents",jmri.NmraPacket.accDecoderPkt(2,true),m.getCommandStation().slot(0).getPayload());
|
|
}
|
|
|
|
@Override
|
|
@Test
|
|
public void testDispose() {
|
|
t.setCommandedState(jmri.Turnout.CLOSED); // in case registration with TrafficController
|
|
//is deferred to after first use
|
|
t.dispose();
|
|
Assert.assertEquals("controller listeners remaining", 1, numListeners());
|
|
}
|
|
|
|
@Override
|
|
@BeforeEach
|
|
public void setUp() {
|
|
JUnitUtil.setUp();
|
|
// prepare an interface
|
|
jmri.util.JUnitUtil.resetInstanceManager();
|
|
jmri.util.JUnitUtil.initInternalSensorManager();
|
|
jmri.util.JUnitUtil.initInternalTurnoutManager();
|
|
|
|
m = new SprogSystemConnectionMemo(jmri.jmrix.sprog.SprogConstants.SprogMode.OPS);
|
|
stcs = new SprogTrafficControlScaffold(m);
|
|
m.setSprogTrafficController(stcs);
|
|
m.configureCommandStation();
|
|
|
|
t = new SprogCSTurnout(2,m);
|
|
jmri.InstanceManager.store(new jmri.NamedBeanHandleManager(), jmri.NamedBeanHandleManager.class);
|
|
|
|
}
|
|
|
|
@Override
|
|
@AfterEach
|
|
public void tearDown() {
|
|
m.getSlotThread().interrupt();
|
|
m.dispose();
|
|
JUnitUtil.waitThreadTerminated(m.getSlotThread().getName());
|
|
stcs.dispose();
|
|
JUnitUtil.tearDown();
|
|
}
|
|
|
|
}
|