86 lines
2.5 KiB
Java
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();
|
|
}
|
|
|
|
}
|