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

69 lines
1.9 KiB
Java

package jmri.jmrix.srcp;
import jmri.util.JUnitUtil;
import org.junit.Assert;
import org.junit.jupiter.api.*;
/**
* Tests for the jmri.jmrix.srcp.SRCPTurnout class
*
* @author Bob Jacobsen
* @author Paul Bender Copyright (C) 2017
*/
public class SRCPTurnoutTest extends jmri.implementation.AbstractTurnoutTestBase {
private SRCPTrafficControlScaffold stc = null;
@Override
public int numListeners() {
return stc.numListeners();
}
@Override
public void checkThrownMsgSent() {
Assert.assertTrue("message sent", stc.outbound.size()>0);
Assert.assertEquals("content", "SET 1 GA 1 0 1 -1\n", stc.outbound.elementAt(stc.outbound.size() - 1).toString()); // THROWN message
}
@Override
public void checkClosedMsgSent() {
Assert.assertTrue("message sent", stc.outbound.size()>0);
Assert.assertEquals("content", "SET 1 GA 1 0 0 -1\n", stc.outbound.elementAt(stc.outbound.size() - 1).toString()); // THROWN message
}
@Test
public void testGetNumber(){
Assert.assertEquals("Number", 1, ((SRCPTurnout) t).getNumber());
}
@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());
}
@BeforeEach
@Override
public void setUp() {
JUnitUtil.setUp();
stc = new SRCPTrafficControlScaffold();
SRCPBusConnectionMemo memo = new SRCPBusConnectionMemo(stc, "TEST", 1);
memo.setTurnoutManager(new SRCPTurnoutManager(memo));
t = new SRCPTurnout(1, memo);
}
@Override
@AfterEach
public void tearDown() {
JUnitUtil.clearShutDownManager(); // put in place because AbstractMRTrafficController implementing subclass was not terminated properly
JUnitUtil.tearDown();
}
}