79 lines
2.1 KiB
Java
79 lines
2.1 KiB
Java
package jmri.jmrix.can.cbus.simulator;
|
|
|
|
import jmri.jmrix.can.CanSystemConnectionMemo;
|
|
import jmri.jmrix.can.TrafficControllerScaffold;
|
|
import jmri.util.JUnitUtil;
|
|
|
|
import org.junit.Assert;
|
|
import org.junit.jupiter.api.*;
|
|
|
|
/**
|
|
*
|
|
* @author Steve Young Copyright (c) 2019
|
|
*/
|
|
public class CbusDummyCSSessionTest {
|
|
|
|
@Test
|
|
public void testCTor() {
|
|
CbusDummyCSSession t = new CbusDummyCSSession(null,0,0,false);
|
|
Assert.assertNotNull("exists",t);
|
|
t.dispose();
|
|
}
|
|
|
|
@Test
|
|
public void testFullSession() {
|
|
|
|
CbusDummyCS cs = new CbusDummyCS(memo);
|
|
cs.setDelay(0);
|
|
CbusDummyCSSession t = new CbusDummyCSSession(cs,1,1234,true);
|
|
Assert.assertNotNull("exists",t);
|
|
|
|
t.sendPloc();
|
|
JUnitUtil.waitFor(()->{ return(!tc.inbound.isEmpty()); }, "ploc didn't arrive");
|
|
Assert.assertEquals("ploc sent", "[5f8] E1 01 C4 D2 80 00 00",
|
|
tc.inbound.elementAt(tc.inbound.size() - 1).toString());
|
|
|
|
t.setSpd(200);
|
|
t.sendPloc();
|
|
|
|
JUnitUtil.waitFor(()->{ return(tc.inbound.size()>1); }, "ploc 2 didn't arrive");
|
|
Assert.assertEquals("ploc 2 sent", "[5f8] E1 01 C4 D2 C8 00 00",
|
|
tc.inbound.elementAt(tc.inbound.size() - 1).toString());
|
|
|
|
Assert.assertFalse(t.getIsDispatched());
|
|
Assert.assertTrue(t.getisLong());
|
|
Assert.assertTrue(t.getrcvdIntAddr()==1234);
|
|
Assert.assertTrue(t.getSessionNum()==1);
|
|
|
|
t.dispose();
|
|
cs.dispose();
|
|
}
|
|
|
|
private TrafficControllerScaffold tc;
|
|
private CanSystemConnectionMemo memo = null;
|
|
|
|
@BeforeEach
|
|
public void setUp() {
|
|
JUnitUtil.setUp();
|
|
|
|
memo = new CanSystemConnectionMemo();
|
|
tc = new TrafficControllerScaffold();
|
|
memo.setTrafficController(tc);
|
|
}
|
|
|
|
@AfterEach
|
|
public void tearDown() {
|
|
|
|
tc.terminateThreads();
|
|
Assertions.assertNotNull(memo);
|
|
memo.dispose();
|
|
tc = null;
|
|
memo = null;
|
|
JUnitUtil.tearDown();
|
|
|
|
}
|
|
|
|
// private static final Logger log = LoggerFactory.getLogger(CbusDummyCSTest.class);
|
|
|
|
}
|