72 lines
2.1 KiB
Java
72 lines
2.1 KiB
Java
package jmri.jmrix.bidib;
|
|
|
|
//import jmri.util.JUnitAppender;
|
|
|
|
import org.junit.jupiter.api.*;
|
|
|
|
import jmri.util.JUnitUtil;
|
|
|
|
/**
|
|
* Tests for the BiDiBOpsModeProgrammer class
|
|
*
|
|
* @author Eckart Meyer Copyright (C) 2020
|
|
*/
|
|
public class BiDiBOpsModeProgrammerTest extends jmri.jmrix.AbstractOpsModeProgrammerTestBase {
|
|
|
|
private BiDiBSystemConnectionMemo memo;
|
|
|
|
@Override
|
|
@Test
|
|
public void testGetCanRead() {
|
|
// BiDiB supports railcom!
|
|
Assertions.assertTrue( programmer.getCanRead(), "can read");
|
|
}
|
|
|
|
@Override
|
|
@Test
|
|
@Disabled("Test requires further development")
|
|
public void testGetCanReadAddress() {
|
|
//Assert.assertFalse("can read address", programmer.getCanRead("1234"));
|
|
}
|
|
|
|
@Override
|
|
@Test
|
|
@Disabled("Test requires further development")
|
|
public void testGetCanWriteAddress() {
|
|
//Assert.assertTrue("can write address", programmer.getCanWrite("1234"));
|
|
}
|
|
|
|
@Test
|
|
@Override
|
|
public void testWriteCVNullListener() throws jmri.ProgrammerException {
|
|
super.testWriteCVNullListener();
|
|
// test may require further setup?
|
|
//JUnitAppender.suppressWarnMessageStartsWith(
|
|
// "The node is no longer registered. Skip send message to node:");
|
|
//JUnitAppender.suppressErrorMessageStartsWith(
|
|
// "writePom async failed on node:"); //since jbidibc 2.0.18
|
|
}
|
|
|
|
@Override
|
|
@BeforeEach
|
|
public void setUp() {
|
|
JUnitUtil.setUp();
|
|
// infrastructure objects
|
|
memo = new BiDiBSystemConnectionMemo();
|
|
memo.setBiDiBTrafficController(new TestBiDiBTrafficController(new BiDiBInterfaceScaffold()));
|
|
programmer = new BiDiBOpsModeProgrammer(5, memo.getBiDiBTrafficController());
|
|
}
|
|
|
|
@Override
|
|
@AfterEach
|
|
public void tearDown() {
|
|
programmer = null;
|
|
memo.dispose();
|
|
memo.getBiDiBTrafficController().terminate();
|
|
//JUnitUtil.resetWindows(false,false);
|
|
//JUnitUtil.clearShutDownManager(); // put in place because AbstractMRTrafficController implementing subclass was not terminated properly
|
|
JUnitUtil.tearDown();
|
|
}
|
|
|
|
}
|