package jmri.jmrix.dccpp; import jmri.util.JUnitUtil; import org.junit.jupiter.api.*; import static org.junit.jupiter.api.Assertions.*; /** * JUnit tests for the DCCppSimulatorPortController class. * * @author Paul Bender Copyright (C) 2016 */ public class DCCppSimulatorPortControllerTest extends jmri.jmrix.AbstractSerialPortControllerTestBase { @Override @BeforeEach public void setUp(){ JUnitUtil.setUp(); DCCppInterfaceScaffold tc = new DCCppInterfaceScaffold(new DCCppCommandStation()); new DCCppSystemConnectionMemo(tc); apc = new DCCppSimulatorPortController(){ @Override public boolean status(){ return true; } @Override public void configure(){ } @Override public java.io.DataInputStream getInputStream(){ return null; } @Override public java.io.DataOutputStream getOutputStream(){ return null; } @Override public String[] validBaudRates(){ return new String[]{"9600"}; } /** * Open a specified port. The appName argument is to be provided to the * underlying OS during startup so that it can show on status displays, etc */ @Override public String openPort(String portName, String appName){ return ""; } @Override public void setOutputBufferEmpty(boolean s){ } @Override public boolean okToSend(){ return true; } }; } @Test public void testSetManufacturerLegacyMigration() { apc.setManufacturer("DCC++"); assertEquals("DCC-EX", apc.getManufacturer(), "legacy DCC++ manufacturer should migrate to DCC-EX"); apc.setManufacturer("DCC-EX"); assertEquals("DCC-EX", apc.getManufacturer(), "DCC-EX manufacturer should be stored as-is"); } @Override @AfterEach public void tearDown(){ JUnitUtil.clearShutDownManager(); // put in place because AbstractMRTrafficController implementing subclass was not terminated properly JUnitUtil.tearDown(); } }