Initialisation depot

This commit is contained in:
Serge NOEL
2026-06-17 14:00:51 +02:00
commit efdf1683af
33190 changed files with 5907629 additions and 0 deletions
@@ -0,0 +1,95 @@
package jmri.progdebugger;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import jmri.ProgListener;
import jmri.Programmer;
import jmri.util.JUnitUtil;
import org.junit.jupiter.api.*;
/**
* Test the DebugProgrammer class.
*
* @author Bob Jacobsen Copyright 2013
*/
public class DebugProgrammerTest {
private int readValue = -2;
private boolean replied = false;
@Test
public void testWriteRead() throws jmri.ProgrammerException, InterruptedException {
Programmer p = new ProgDebugger();
ProgListener l = new ProgListener() {
@Override
public void programmingOpReply(int value, int status) {
log.debug("callback value={} status={}", value, status);
replied = true;
readValue = value;
}
};
p.writeCV("4", 12, l);
waitReply();
log.debug("readValue is {}", readValue);
p.readCV("4", l);
waitReply();
log.debug("readValue is {}", readValue);
assertEquals( 12, readValue, "read back");
}
@Test
public void testCvLimit() {
Programmer p = new jmri.progdebugger.ProgDebugger();
assertTrue( p.getCanRead("256"), "CV limit read");
assertTrue( p.getCanWrite("256"), "CV limit write");
assertFalse( p.getCanRead("257"), "CV limit read");
assertFalse( p.getCanWrite("257"), "CV limit write");
}
@Test
public void testKnowsWrite() throws jmri.ProgrammerException {
ProgDebugger p = new ProgDebugger();
ProgListener l = new ProgListener() {
@Override
public void programmingOpReply(int value, int status) {
log.debug("callback value={} status={}", value, status);
replied = true;
readValue = value;
}
};
assertFalse( p.hasBeenWritten(4), "initially not written");
p.writeCV("4", 12, l);
assertTrue( p.hasBeenWritten(4), "after 1st write");
p.clearHasBeenWritten(4);
assertFalse( p.hasBeenWritten(4), "now longer written");
p.writeCV("4", 12, l);
assertTrue( p.hasBeenWritten(4), "after 2nd write");
}
// from here down is testing infrastructure
private void waitReply() {
JUnitUtil.waitFor(() -> {
return replied;
}, "reply received");
replied = false;
}
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
}
@AfterEach
public void tearDown() {
JUnitUtil.tearDown();
}
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(DebugProgrammerTest.class);
}