public void testCvLimit() { ProgDebugger dp = new ProgDebugger(); dp.setTestReadLimit(256); dp.setTestWriteLimit(256); Programmer p = new ResettingOffsetHighCvProgrammerFacade(dp, "256", "7", "10", "100", "200"); Assert.assertTrue("CV limit read OK", p.getCanRead("1024")); Assert.assertTrue("CV limit write OK", p.getCanWrite("1024")); Assert.assertTrue("CV limit read fail", !p.getCanRead("1025")); Assert.assertTrue("CV limit write fail", !p.getCanWrite("1025")); }
public void testWriteReadDirectHighCV() throws jmri.ProgrammerException, InterruptedException { ProgDebugger dp = new ProgDebugger(); dp.setTestReadLimit(1024); dp.setTestWriteLimit(1024); Programmer p = new ResettingOffsetHighCvProgrammerFacade(dp, "256", "7", "10", "100", "200"); ProgListener l = new ProgListener() { public void programmingOpReply(int value, int status) { log.debug("callback value=" + value + " status=" + status); replied = true; readValue = value; } }; p.writeCV("258", 12, l); waitReply(); Assert.assertEquals("target written", 12, dp.getCvVal(258)); Assert.assertTrue("index not written", !dp.hasBeenWritten(7)); p.readCV("258", l); waitReply(); Assert.assertEquals("read back", 12, readValue); }
public void testWriteReadIndexed() throws jmri.ProgrammerException, InterruptedException { ProgDebugger dp = new ProgDebugger(); dp.setTestReadLimit(256); dp.setTestWriteLimit(256); Programmer p = new ResettingOffsetHighCvProgrammerFacade(dp, "256", "7", "10", "100", "200"); ProgListener l = new ProgListener() { public void programmingOpReply(int value, int status) { log.debug("callback value=" + value + " status=" + status); replied = true; readValue = value; } }; p.writeCV("258", 12, l); waitReply(); Assert.assertTrue("target not written", !dp.hasBeenWritten(258)); Assert.assertEquals("index written", 0, dp.getCvVal(7)); // wrote 220, then wrote back Assert.assertEquals("value written", 12, dp.getCvVal(58)); Assert.assertEquals("did 3 operations", 3, dp.nOperations); }