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

99 lines
2.6 KiB
Java

package jmri.jmrix.grapevine;
import jmri.Turnout;
import jmri.util.JUnitUtil;
import java.beans.PropertyVetoException;
import org.junit.Assert;
import org.junit.jupiter.api.*;
/**
* Tests for the SerialTurnoutManager class.
*
* @author Bob Jacobsen Copyright 2004, 2007, 2008
*/
public class SerialTurnoutManagerTest extends jmri.managers.AbstractTurnoutMgrTestBase {
private GrapevineSystemConnectionMemo memo = null;
@Override
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
memo = new GrapevineSystemConnectionMemo();
SerialTrafficController tc = new SerialTrafficControlScaffold(memo);
memo.setTrafficController(tc);
tc.registerNode(new SerialNode(1, SerialNode.NODE2002V6, tc));
// create and register the manager object
l = new SerialTurnoutManager(memo);
jmri.InstanceManager.setTurnoutManager(l);
}
@Override
public String getSystemName(int n) {
return "GT" + n;
}
@Override
protected String getASystemNameWithNoPrefix() {
return "1107";
}
@Test
public void testAsAbstractFactory() {
// ask for a Turnout, and check type
Turnout o = l.newTurnout("GT1105", "my name");
Assertions.assertNotNull( o);
Assertions.assertTrue(o instanceof SerialTurnout);
// make sure loaded into tables
Assertions.assertNotNull( l.getBySystemName("GT1105"));
Assertions.assertNotNull( l.getByUserName("my name"));
}
@Override
@Test
public void testRegisterDuplicateSystemName() throws PropertyVetoException, NoSuchFieldException,
NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
testRegisterDuplicateSystemName(l,
l.makeSystemName("1107"),
l.makeSystemName("1109"));
}
@Override
@Test
public void testMakeSystemName() {
String s = l.makeSystemName("1107");
Assert.assertNotNull(s);
Assert.assertFalse(s.isEmpty());
}
/**
* Number of turnout to test. Use 9th output on node 1.
* {@inheritDoc}
*/
@Override
protected int getNumToTest1() {
return 1109;
}
@Override
protected int getNumToTest2() {
return 1107;
}
@AfterEach
public void tearDown() {
JUnitUtil.clearShutDownManager(); // put in place because AbstractMRTrafficController implementing subclass was not terminated properly
JUnitUtil.tearDown();
}
// private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(SerialTurnoutManagerTest.class);
}