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

86 lines
2.5 KiB
Java

package jmri.jmrix.bidib;
import org.assertj.core.api.Assertions;
import org.junit.Assert;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import jmri.ProgrammingMode;
import jmri.util.JUnitUtil;
/**
* Tests for the BiDiBProgrammer class
*
* @author Eckart Meyer Copyright (C) 2020
*/
public class BiDiBProgrammerTest extends jmri.jmrix.AbstractProgrammerTest {
private BiDiBSystemConnectionMemo memo;
// should be revised - which modes are really available with BiDiB..
@Override
@Test
public void testDefaultViaBestMode() {
Assert.assertEquals("Check Default", ProgrammingMode.DIRECTBYTEMODE,
((BiDiBProgrammer)programmer).getBestMode());
}
@Test
@Override
public void testDefault() {
Assert.assertEquals("Check Default", ProgrammingMode.DIRECTBYTEMODE,
programmer.getMode());
}
@Test
@Override
public void testSetGetMode() {
Assertions.assertThatThrownBy(() -> programmer.setMode(ProgrammingMode.REGISTERMODE)).isInstanceOf(IllegalArgumentException.class);
Assert.assertEquals("Check mode matches set", ProgrammingMode.DIRECTBYTEMODE,
programmer.getMode());
}
@Override
@Test
public void testGetCanWriteAddress() {
Assert.assertFalse("can write address", programmer.getCanWrite("1234"));
}
@Override
@Test
public void testGetWriteConfirmMode(){
Assert.assertEquals("Write Confirm Mode",jmri.Programmer.WriteConfirmMode.DecoderReply,
programmer.getWriteConfirmMode("1234"));
}
@Override
@Test
@Disabled("we can't make a BidibNode which does not execute synchroneous BiDiB commands")
public void testWriteCVNullListener() throws jmri.ProgrammerException {
//programmer.writeCV("1",42,null); //not possible since we can't make a BidibNode which does not execute synchroneous BiDiB commands
}
@Override
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
// infrastructure objects
memo = new BiDiBSystemConnectionMemo();
memo.setBiDiBTrafficController(new TestBiDiBTrafficController(new BiDiBInterfaceScaffold()));
programmer = new BiDiBProgrammer(memo.getBiDiBTrafficController());
}
@Override
@AfterEach
public void tearDown() {
//programmer = null;
JUnitUtil.tearDown();
}
}