Files
JIMRI/java/test/jmri/jmrix/can/cbus/CbusSendTest.java
T
2026-06-17 14:00:51 +02:00

291 lines
7.3 KiB
Java

package jmri.jmrix.can.cbus;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import jmri.jmrix.can.CanSystemConnectionMemo;
import jmri.jmrix.can.TrafficControllerScaffold;
import jmri.util.JUnitUtil;
import jmri.util.swing.TextAreaFIFO;
import org.junit.jupiter.api.*;
/**
*
* @author Paul Bender Copyright (C) 2017
* @author Steve Young Copyright (C) 2019
*/
public class CbusSendTest {
private TrafficControllerScaffold tcis;
private CanSystemConnectionMemo memo;
private CbusSend send;
private TextAreaFIFO ta;
@Test
public void testCTor() {
assertNotNull( send, "exists");
}
@Test
public void testnodeExitLearnEvMode() {
send.nodeExitLearnEvMode(54321);
checknodeExitLearnEvMode();
}
@Test
public void testnodeEnterLearnEvMode() {
send.nodeEnterLearnEvMode(54321);
checknodeEnterLearnEvMode();
}
@Test
public void testnodeSetNodeNumber() {
send.nodeSetNodeNumber(12345);
checknodeSetNodeNumber();
}
@Test
public void testnodeRequestParamSetup() {
send.nodeRequestParamSetup();
checknodeRequestParamSetup();
}
@Test
public void testnodeTeachEventLearnMode() {
send.nodeTeachEventLearnMode(54321,12345,8,255);
checknodeTeachEventLearnMode();
}
@Test
public void testnodenodeUnlearnEvent() {
send.nodeUnlearnEvent(0XFD,0xee);
checknodeUnlearnEvent();
}
@Test
public void testrEVAL() {
send.rEVAL(987,123,6541);
checkrEVAL();
}
@Test
public void testrQNPN() {
send.rQNPN(555,777);
checkrQNPN();
}
@Test
public void testsearchForNodes() {
send.searchForNodes();
checksearchForNodes();
}
@Test
public void testnVRD() {
send.nVRD(4321,123);
checknVRD();
}
@Test
public void testnVSET() {
send.nVSET(65432,123,1);
checknVSET();
}
@Test
public void testrQEVN() {
send.rQEVN(12345);
checkrQEVN();
}
@Test
public void testnERD() {
send.nERD(44444);
checknERD();
}
@Test
public void testaRST() {
send.aRST();
checkaRST();
}
@Test
public void testCbusEnumerationSent() {
send.eNUM(1234);
checkeNUM();
}
@Test
public void testcANID() {
send.cANID(6543,77);
checkcANID();
}
@Test
public void testnNCLR() {
send.nNCLR(4321);
checknNCLR();
}
@Test
public void testrQmn() {
send.rQmn();
checkrQmn();
}
@Test
public void testTextAreaAdd2() {
ta = new TextAreaFIFO(9);
CbusSend tasend = new CbusSend(memo,ta);
assertNotNull( tasend, "exists");
tasend.nodeExitLearnEvMode(22222);
assertTrue( (ta.getText()).contains("2 exit learn mode."),
"textarea is updated 2");
}
@Test
public void testTextAreaAdd3() {
ta = new TextAreaFIFO(9);
CbusSend tasend = new CbusSend(memo,ta);
assertNotNull( tasend, "exists");
tasend.nodeEnterLearnEvMode(33333);
assertTrue( (ta.getText()).contains("3 enter learn mode."), "textarea is updated 3");
}
private void checknodeExitLearnEvMode() {
assertEquals( "[5f8] 54 D4 31",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"Node exit learn sent");
}
private void checknodeEnterLearnEvMode() {
assertEquals( "[5f8] 53 D4 31",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"Node enter learn sent");
}
private void checknodeSetNodeNumber() {
assertEquals( "[5f8] 42 30 39",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"Node set nn sent");
}
private void checknodeRequestParamSetup() {
assertEquals( "[5f8] 10",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"Node request param setup sent");
}
private void checknodeTeachEventLearnMode() {
assertEquals( "[5f8] D2 D4 31 30 39 08 FF",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"Node Teach Event LearnMode sent");
}
private void checknodeUnlearnEvent() {
assertEquals( "[5f8] 95 00 FD 00 EE",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"Node Unlearn Event sent");
}
private void checkrEVAL() {
assertEquals( "[5f8] 9C 03 DB 7B 8D",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"rEVAL Event sent");
}
private void checkrQNPN() {
assertEquals( "[5f8] 73 02 2B 09",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"rQNPN Event sent");
}
private void checksearchForNodes() {
assertEquals( "[5f8] 0D",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"searchForNodes sent");
}
private void checknVRD() {
assertEquals( "[5f8] 71 10 E1 7B",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"nVRD sent");
}
private void checknVSET() {
assertEquals( "[5f8] 96 FF 98 7B 01",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"nVSET sent");
}
private void checkrQEVN() {
assertEquals( "[5f8] 58 30 39",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"rQEVN sent");
}
private void checknERD() {
assertEquals( "[5f8] 57 AD 9C",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"nERD sent");
}
private void checkaRST() {
assertEquals( "[5f8] 07",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"aRST sent");
}
private void checkeNUM() {
assertEquals( "[5f8] 5D 04 D2",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"eNUM sent");
}
private void checkcANID() {
assertEquals( "[5f8] 75 19 8F 4D",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"cANID sent");
}
private void checknNCLR() {
assertEquals( "[5f8] 55 10 E1",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"nNCLR sent");
}
private void checkrQmn() {
assertEquals( "[5f8] 11",
tcis.outbound.elementAt(tcis.outbound.size() - 1).toString(),
"rQmn sent");
}
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
memo = new CanSystemConnectionMemo();
tcis = new TrafficControllerScaffold();
memo.setTrafficController(tcis);
send = new CbusSend(memo,null);
}
@AfterEach
public void tearDown() {
send = null;
memo.dispose();
tcis.terminateThreads();
tcis = null;
memo = null;
ta = null;
JUnitUtil.tearDown();
}
// private static final Logger log = LoggerFactory.getLogger(CbusSendTest.class);
}