Search in sources :

Example 41 with LocoNetMessage

use of jmri.jmrix.loconet.LocoNetMessage in project JMRI by JMRI.

the class LoaderEngineTest method testGetExitMessage.

public void testGetExitMessage() {
    LoaderEngine l = new LoaderEngine(null);
    LocoNetMessage m = l.getExitMessage();
    Assert.assertEquals("contents", "D3 00 00 00 00 2C", m.toString());
    Assert.assertEquals("checksum", true, m.checkParity());
}
Also used : LocoNetMessage(jmri.jmrix.loconet.LocoNetMessage)

Example 42 with LocoNetMessage

use of jmri.jmrix.loconet.LocoNetMessage in project JMRI by JMRI.

the class LlnmonTest method testCmdStationCfgSlot.

public void testCmdStationCfgSlot() {
    LocoNetMessage l;
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x10, 0x40, 0x00, 0x08, 0x0D, 0x03, 0x08, 0x00, 0x78, 0x0F, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 01", "Report of current Command Station OpSw values:\n\tOpSw1=Thrown, OpSw2=Thrown, OpSw3=Thrown, OpSw4=Thrown, OpSw5=Closed, OpSw6=Thrown, OpSw7=Thrown, OpSw8=Thrown,\n" + "\tOpSw9=Thrown, OpSw10=Thrown, OpSw11=Thrown, OpSw12=Thrown, OpSw13=Thrown, OpSw14=Thrown, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Thrown, OpSw18=Thrown, OpSw19=Thrown, OpSw20=Thrown, OpSw21=Thrown, OpSw22=Thrown, OpSw23=Thrown, OpSw24=Thrown,\n" + "\tOpSw25=Thrown, OpSw26=Thrown, OpSw27=Thrown, OpSw28=Closed, OpSw29=Thrown, OpSw30=Thrown, OpSw31=Thrown, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Thrown, OpSw36=Thrown, OpSw37=Thrown, OpSw38=Thrown, OpSw39=Thrown, OpSw40=Thrown,\n" + "\tOpSw41=Thrown, OpSw42=Thrown, OpSw43=Thrown, OpSw44=Closed, OpSw45=Thrown, OpSw46=Thrown, OpSw47=Thrown, OpSw48=Thrown,\n" + "\tOpSw49=Thrown, OpSw50=Thrown, OpSw51=Thrown, OpSw52=Thrown, OpSw53=Thrown, OpSw54=Thrown, OpSw55=Thrown, OpSw56=Thrown,\n" + "\tOpSw57=Thrown, OpSw58=Thrown, OpSw59=Thrown, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 02", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Thrown, OpSw2=Thrown, OpSw3=Thrown, OpSw4=Thrown, OpSw5=Thrown, OpSw6=Thrown, OpSw7=Thrown, OpSw8=Thrown,\n" + "\tOpSw9=Thrown, OpSw10=Thrown, OpSw11=Thrown, OpSw12=Thrown, OpSw13=Thrown, OpSw14=Thrown, OpSw15=Thrown, OpSw16=Thrown,\n" + "\tOpSw17=Thrown, OpSw18=Thrown, OpSw19=Thrown, OpSw20=Thrown, OpSw21=Thrown, OpSw22=Thrown, OpSw23=Thrown, OpSw24=Thrown,\n" + "\tOpSw25=Thrown, OpSw26=Thrown, OpSw27=Thrown, OpSw28=Thrown, OpSw29=Thrown, OpSw30=Thrown, OpSw31=Thrown, OpSw32=Thrown,\n" + "\tOpSw33=Thrown, OpSw34=Thrown, OpSw35=Thrown, OpSw36=Thrown, OpSw37=Thrown, OpSw38=Thrown, OpSw39=Thrown, OpSw40=Thrown,\n" + "\tOpSw41=Thrown, OpSw42=Thrown, OpSw43=Thrown, OpSw44=Thrown, OpSw45=Thrown, OpSw46=Thrown, OpSw47=Thrown, OpSw48=Thrown,\n" + "\tOpSw49=Thrown, OpSw50=Thrown, OpSw51=Thrown, OpSw52=Thrown, OpSw53=Thrown, OpSw54=Thrown, OpSw55=Thrown, OpSw56=Thrown,\n" + "\tOpSw57=Thrown, OpSw58=Thrown, OpSw59=Thrown, OpSw60=Thrown, OpSw61=Thrown, OpSw62=Thrown, OpSw63=Thrown, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 03", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7E, 0x7F, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 04", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Thrown, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7D, 0x7F, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 05", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Thrown, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7B, 0x7F, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 06", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Thrown, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x77, 0x7F, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 07", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Thrown, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x6F, 0x7F, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 08", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Thrown, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x5F, 0x7F, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 09", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Thrown, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x3F, 0x7F, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 09", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Thrown, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xEF, 0x0E, 0x7F, 0x3F, 0x7F, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 10", "Write Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Thrown, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7E, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 11", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Thrown, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7D, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 12", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Thrown, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7B, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 13", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Thrown, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x77, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 14", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Thrown, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x6F, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 15", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Thrown, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x5F, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 16", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Thrown, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x3F, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 17", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Thrown, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 18", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Thrown, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7f, 0x7D, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 19", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Thrown, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7B, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 20", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Thrown, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x77, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 21", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Thrown, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x6F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 22", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Thrown, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x5F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 23", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Thrown, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x3F, 0x7F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 24", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Thrown, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 25", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Thrown, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7f, 0x7F, 0x7D, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 26", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Thrown, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7B, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 27", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Thrown, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x77, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 28", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Thrown, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x6F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 29", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Thrown, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x5F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 30", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Thrown, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x3F, 0x7f, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 31", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Thrown, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 32", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Thrown, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x07, 0x7D, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 33", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Thrown, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7B, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 34", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Thrown, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x77, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 35", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Thrown, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x6F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 36", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Thrown, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x5F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 37", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Thrown, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 38", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Thrown, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x7E, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 39", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Thrown, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x07, 0x7F, 0x7D, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 40", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Thrown, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x7B, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 41", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Thrown, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x77, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 42", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Thrown, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x6F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 43", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Thrown, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x5F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 44", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Thrown, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x3F, 0x7F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 45", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Thrown, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, 0x7E, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 46", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Thrown, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, 0x7D, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 47", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Thrown, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, 0x7B, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 48", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Thrown, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, 0x77, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 49", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Thrown, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, 0x6F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 50", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Thrown, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, 0x5F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 51", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Thrown, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, 0x3F, 0x7F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 52", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Thrown, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, 0x7F, 0x7E, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 53", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Thrown, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7f, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, 0x7F, 0x7D, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 54", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Thrown, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, 0x7F, 0x7B, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 55", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Thrown, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, 0x7F, 0x77, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 56", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Thrown, OpSw61=Closed, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, 0x7F, 0x6F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 57", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Thrown, OpSw62=Closed, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, 0x7F, 0x5F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 58", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Thrown, OpSw63=Closed, OpSw64=Thrown.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE7, 0x0E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, 0x7F, 0x3F, 0x00, 0x40 });
    assertEquals("Cmd Stn Cfg Slot test 59", "Report of current Command Station OpSw values:\n" + "\tOpSw1=Closed, OpSw2=Closed, OpSw3=Closed, OpSw4=Closed, OpSw5=Closed, OpSw6=Closed, OpSw7=Closed, OpSw8=Thrown,\n" + "\tOpSw9=Closed, OpSw10=Closed, OpSw11=Closed, OpSw12=Closed, OpSw13=Closed, OpSw14=Closed, OpSw15=Closed, OpSw16=Thrown,\n" + "\tOpSw17=Closed, OpSw18=Closed, OpSw19=Closed, OpSw20=Closed, OpSw21=Closed, OpSw22=Closed, OpSw23=Closed, OpSw24=Thrown,\n" + "\tOpSw25=Closed, OpSw26=Closed, OpSw27=Closed, OpSw28=Closed, OpSw29=Closed, OpSw30=Closed, OpSw31=Closed, OpSw32=Thrown,\n" + "\tOpSw33=Closed, OpSw34=Closed, OpSw35=Closed, OpSw36=Closed, OpSw37=Closed, OpSw38=Closed, OpSw39=Closed, OpSw40=Thrown,\n" + "\tOpSw41=Closed, OpSw42=Closed, OpSw43=Closed, OpSw44=Closed, OpSw45=Closed, OpSw46=Closed, OpSw47=Closed, OpSw48=Thrown,\n" + "\tOpSw49=Closed, OpSw50=Closed, OpSw51=Closed, OpSw52=Closed, OpSw53=Closed, OpSw54=Closed, OpSw55=Closed, OpSw56=Thrown,\n" + "\tOpSw57=Closed, OpSw58=Closed, OpSw59=Closed, OpSw60=Closed, OpSw61=Closed, OpSw62=Closed, OpSw63=Thrown, OpSw64=Thrown.\n", f.displayMessage(l));
}
Also used : LocoNetMessage(jmri.jmrix.loconet.LocoNetMessage)

Example 43 with LocoNetMessage

use of jmri.jmrix.loconet.LocoNetMessage in project JMRI by JMRI.

the class LlnmonTest method testIPL.

public void testIPL() {
    LocoNetMessage l;
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x5C, 0x18, 0x00, 0x04, 0x00, 0x07, 0x6A, 0x01, 0x40, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x58 });
    assertEquals("IPL test 1", "IPL Identity report.\n\tHost: Digitrax UR92 host, S/N=40016A, S/W Version=0.4\n\tSlave: Digitrax RF24 slave, S/N=AEE, S/W Version=0.7.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08 });
    assertEquals("IPL test 2", "Discover all IPL-capable devices request.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6A, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F });
    assertEquals("IPL test 3", "Discover Digitrax UR92 host devices and/or Digitrax (no slave device type specified) devices.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL test 4", "Pinging device with serial number 0xAEE.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0f, 0x10, 0x00, 0x2A, 0x18, 0x00, 0x05, 0x00, 0x07, 0x7e, 0x43, 0x00, 0x00, 0x70, 0x0a, 0x00, 0x00, 0x67 });
    assertEquals("IPL test 5", "IPL Identity report.\n\tHost: Digitrax DT402(x) host, S/N=437E, S/W Version=0.5\n\tSlave: Digitrax RF24 slave, S/N=A70, S/W Version=0.7.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x23, 0x00, 0x00, 0x08, 0x00, 0x01, 0x01, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45 });
    assertEquals("IPL test 6", "IPL Identity report.\n\tHost: Digitrax PR3 host, S/N=7F01, S/W Version=1.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x01, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D });
    assertEquals("IPL test 7", "IPL Identity report.\n\tHost: Digitrax UT4(x) host, S/N=140, S/W Version=1.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x33, 0x00, 0x00, 0x08, 0x00, 0x05, 0x59, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 8", "IPL Identity report.\n\tHost: Digitrax DCS51 host, S/N=159, S/W Version=1.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x08, 0x00, 0x05, 0x59, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 9", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=159, S/W Version=1.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x1b, 0x00, 0x00, 0x08, 0x00, 0x05, 0x59, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 10", "IPL Identity report.\n\tHost: Digitrax DCS210 host, S/N=159, S/W Version=1.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x1c, 0x00, 0x00, 0x08, 0x00, 0x05, 0x59, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 11", "IPL Identity report.\n\tHost: Digitrax DCS240 host, S/N=159, S/W Version=1.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x18, 0x00, 0x08, 0x00, 0x06, 0x59, 0x01, 0x00, 0x18, 0x03, 0x10, 0x12, 0x34, 0x77 });
    assertEquals("IPL test 12", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=159, S/W Version=1.0\n\tSlave: Digitrax RF24 slave, S/N=B4121003, S/W Version=0.6.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x01, 0x00, 0x08, 0x00, 0x18, 0x59, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 13", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=159, S/W Version=1.0\n\tSlave: Digitrax (unknown slave device type 1), S/N=800000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x19, 0x00, 0x08, 0x00, 0x06, 0x59, 0x01, 0x00, 0x12, 0x03, 0x10, 0x12, 0x34, 0x77 });
    assertEquals("IPL test 14", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=159, S/W Version=1.0\n\tSlave: Digitrax (unknown slave device type 25), S/N=34129003, S/W Version=0.6.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x08, 0x00, 0x18, 0x59, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 15", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=159, S/W Version=1.0\n\tSlave: Digitrax (unknown slave device type 54), S/N=80, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=0, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x01, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=1, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x02, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=2, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x04, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=4, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x08, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=8, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=10, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=20, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=40, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x01, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=80, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x01, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=100, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x02, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=200, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x04, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=400, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x08, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=800, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x10, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=1000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x20, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=2000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x40, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=4000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=8000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=10000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=20000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x00, 0x04, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=40000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x00, 0x08, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=80000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x00, 0x10, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=100000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x00, 0x20, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=200000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x00, 0x40, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=400000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x04, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=800000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x00, 0x00, 0x01, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=1000000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=2000000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x00, 0x00, 0x04, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=4000000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x00, 0x00, 0x08, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=8000000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x00, 0x00, 0x10, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=10000000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x00, 0x00, 0x20, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=20000000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x00, 0x00, 0x00, 0x00, 0x40, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=40000000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x36, 0x00, 0x13, 0x00, 0x18, 0x00, 0x32, 0x21, 0x08, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=213200, S/W Version=2.3\n\tSlave: Digitrax (unknown slave device type 54), S/N=80000000, S/W Version=3.0.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=0, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=0, S/W Version=0.1\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=0, S/W Version=0.2\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=0, S/W Version=0.4\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=0, S/W Version=1.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=0, S/W Version=2.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=0, S/W Version=4.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=0, S/W Version=8.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x01, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Unknown device (Manufacturer code 1, product code 50), S/N=1, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=1, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=2, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=4, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=8, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=10, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=20, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=40, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=80, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=100, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=200, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=400, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=800, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=1000, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=2000, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=4000, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=8000, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=800000, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=10000, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=20000, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=40000, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=80000, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=100000, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=200000, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x10, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77 });
    assertEquals("IPL test 16", "IPL Identity report.\n\tHost: Digitrax DT500 host, S/N=400000, S/W Version=0.0\n\tSlave: None.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08 });
    assertEquals("IPL test 2", "Unable to parse LocoNet message.\ncontents: E5 14 0F 08 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 08\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 });
    assertEquals("IPL test 2", "Unable to parse LocoNet message.\ncontents: E5 14 0F 08 00 00 00 20 00 00 00 01 00 00 00 00 00 00 00 00\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 });
    assertEquals("IPL test 2", "Unable to parse LocoNet message.\ncontents: E5 14 0F 08 00 00 00 00 40 00 00 01 00 00 00 00 00 00 00 00\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 });
    assertEquals("IPL test 2", "Unable to parse LocoNet message.\ncontents: E5 14 0F 08 00 00 00 00 00 10 00 01 00 00 00 00 00 00 00 00\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 });
    assertEquals("IPL test 2", "Unable to parse LocoNet message.\ncontents: E5 14 0F 08 00 00 00 00 00 00 09 01 00 00 00 00 00 00 00 00\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 });
    assertEquals("IPL test 2", "Unable to parse LocoNet message.\ncontents: E5 14 0F 08 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 });
    assertEquals("IPL test 2", "Unable to parse LocoNet message.\ncontents: E5 14 0F 08 00 00 00 00 00 00 00 01 04 00 00 00 00 00 00 00\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 });
    assertEquals("IPL test 2", "Unable to parse LocoNet message.\ncontents: E5 14 0F 08 00 00 00 00 00 00 00 01 00 02 00 00 00 00 00 00\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00 });
    assertEquals("IPL test 2", "Unable to parse LocoNet message.\ncontents: E5 14 0F 08 00 00 00 00 00 00 00 01 00 00 70 00 00 00 00 00\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00 });
    assertEquals("IPL test 2", "Unable to parse LocoNet message.\ncontents: E5 14 0F 08 00 00 00 00 00 00 00 01 00 00 00 03 00 00 00 00\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 });
    assertEquals("IPL test 2", "Unable to parse LocoNet message.\ncontents: E5 14 0F 08 00 00 00 00 00 00 00 01 00 00 00 00 17 00 00 00\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00 });
    assertEquals("IPL test 2", "Unable to parse LocoNet message.\ncontents: E5 14 0F 08 00 00 00 00 00 00 00 01 00 00 00 00 00 23 00 00\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x00 });
    assertEquals("IPL test 2", "Unable to parse LocoNet message.\ncontents: E5 14 0F 08 00 00 00 00 00 00 00 01 00 00 00 00 00 00 45 00\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00, 0x00, 0x6A, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F });
    assertEquals("IPL test 3", "Discover Digitrax (no host device type specified) devices and/or Digitrax RF24 slave devices.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x0F, 0x08, 0x00, 0x5C, 0x18, 0x01, 0x00, 0x00, 0x00, 0x6A, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F });
    assertEquals("IPL test 3", "Discover Digitrax UR92 host devices and/or Digitrax RF24 slave devices.\n", f.displayMessage(l));
}
Also used : LocoNetMessage(jmri.jmrix.loconet.LocoNetMessage)

Example 44 with LocoNetMessage

use of jmri.jmrix.loconet.LocoNetMessage in project JMRI by JMRI.

the class LlnmonTest method testSVProgrammingProtocolV2.

public void testSVProgrammingProtocolV2() {
    LocoNetMessage l;
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x02, 0x02, 0x10, 0x23, 0x00, 0x03, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 });
    assertEquals("SV2 test 1", "(SV Format 2) Read single SV request to destination address 35 initiated by agent 1:\n" + "\tRead request for SV3\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x48, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x49 });
    assertEquals("SV2 test 2", "(SV Format 2) Reply from destination address 513 to Identify device request initiated by agent 1:\n" + "\tDevice characteristics are manufacturer 3, developer number 4, product 1,541, serial number 2,055\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x01, 0x02, 0x12, 0x40, 0x20, 0x10, 0x08, 0x10, 0x04, 0x02, 0x01, 0x7F, 0x0A });
    assertEquals("SV2 test 3", "(SV Format 2) Write single SV request to destination address 41,024 initiated by agent 1:\n" + "\tChange SV2,064 to 4\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x01, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08 });
    assertEquals("SV test 4", "(SV Format 2) Write single SV request to destination address 0 initiated by agent 1:\n" + "\tChange SV0 to 0\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x01, 0x02, 0x10, 0x01, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x40, 0x7F, 0x08 });
    assertEquals("SV test 5", "(SV Format 2) Write single SV request to destination address 513 initiated by agent 1:\n" + "\tChange SV2,052 to 16\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x02, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x03 });
    assertEquals("SV test 6", "(SV Format 2) Read single SV request to destination address 513 initiated by agent 1:\n" + "\tRead request for SV1,027\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x03, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x02 });
    assertEquals("SV2 test 7", "(SV Format 2) Write single SV (masked) request to destination address 513 initiated by agent 1:\n" + "\tchange SV1,027 to 5, applying write mask 6\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x05, 0x02, 0x10, 0x01, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x40, 0x7F, 0x0C });
    assertEquals("SV2 test 8", "(SV Format 2) Write four request to destination address 513 initiated by agent 1:\n" + "\twrite SVs 2,052 thru 2,055(?) with values 16, 32, 64, and 127\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x05, 0x02, 0x10, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x40, 0x7F, 0x01, 0x0C });
    assertEquals("SV2 test 9", "(SV Format 2) Write four request to destination address 1,026 initiated by agent 1:\n" + "\twrite SVs 4,104 thru 4,107(?) with values 32, 64, 127, and 1\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x05, 0x02, 0x10, 0x04, 0x08, 0x10, 0x20, 0x10, 0x40, 0x7F, 0x01, 0x02, 0x0C });
    assertEquals("SV2 test 10", "(SV Format 2) Write four request to destination address 2,052 initiated by agent 1:\n" + "\twrite SVs 8,208 thru 8,211(?) with values 64, 127, 1, and 2\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x05, 0x02, 0x10, 0x08, 0x10, 0x20, 0x40, 0x10, 0x7F, 0x01, 0x02, 0x04, 0x0C });
    assertEquals("SV2 test 11", "(SV Format 2) Write four request to destination address 4,104 initiated by agent 1:\n" + "\twrite SVs 16,416 thru 16,419(?) with values 127, 1, 2, and 4\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x05, 0x02, 0x10, 0x10, 0x20, 0x40, 0x7F, 0x10, 0x01, 0x02, 0x04, 0x08, 0x0C });
    assertEquals("SV2 test 12", "(SV Format 2) Write four request to destination address 8,208 initiated by agent 1:\n" + "\twrite SVs 32,576 thru 32,579(?) with values 1, 2, 4, and 8\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x05, 0x02, 0x10, 0x20, 0x40, 0x7F, 0x01, 0x10, 0x02, 0x04, 0x08, 0x10, 0x0C });
    assertEquals("SV2 test 13", "(SV Format 2) Write four request to destination address 16,416 initiated by agent 1:\n" + "\twrite SVs 383 thru 386(?) with values 2, 4, 8, and 16\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x05, 0x02, 0x10, 0x40, 0x7F, 0x01, 0x02, 0x10, 0x04, 0x08, 0x10, 0x20, 0x0C });
    assertEquals("SV2 test 14", "(SV Format 2) Write four request to destination address 32,576 initiated by agent 1:\n" + "\twrite SVs 513 thru 516(?) with values 4, 8, 16, and 32\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x05, 0x02, 0x11, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0D });
    assertEquals("SV2 test 15", "(SV Format 2) Write four request to destination address 128 initiated by agent 1:\n" + "\twrite SVs 0 thru 3(?) with values 0, 0, 0, and 0\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x05, 0x02, 0x12, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0E });
    assertEquals("SV2 test 16", "(SV Format 2) Write four request to destination address 32,768 initiated by agent 1:\n" + "\twrite SVs 0 thru 3(?) with values 0, 0, 0, and 0\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x05, 0x02, 0x14, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08 });
    assertEquals("SV2 test 17", "(SV Format 2) Write four request to destination address 0 initiated by agent 1:\n" + "\twrite SVs 128 thru 131(?) with values 0, 0, 0, and 0\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x05, 0x02, 0x18, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x04 });
    assertEquals("SV2 test 18", "(SV Format 2) Write four request to destination address 0 initiated by agent 1:\n" + "\twrite SVs 32,768 thru 32,771(?) with values 0, 0, 0, and 0\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x05, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x0D });
    assertEquals("SV2 test 19", "(SV Format 2) Write four request to destination address 0 initiated by agent 1:\n" + "\twrite SVs 0 thru 3(?) with values 128, 0, 0, and 0\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x05, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x0E });
    assertEquals("SV2 test 20", "(SV Format 2) Write four request to destination address 0 initiated by agent 1:\n" + "\twrite SVs 0 thru 3(?) with values 0, 128, 0, and 0\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x05, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x08 });
    assertEquals("SV2 test 21", "(SV Format 2) Write four request to destination address 0 initiated by agent 1:\n" + "\twrite SVs 0 thru 3(?) with values 0, 0, 128, and 0\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x05, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x04 });
    assertEquals("SV2 test 22", "(SV Format 2) Write four request to destination address 0 initiated by agent 1:\n" + "\twrite SVs 0 thru 3(?) with values 0, 0, 0, and 128\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x06, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x07 });
    assertEquals("SV2 test 23", "(SV Format 2) Read four SVs request to destination address 513 initiated by agent 1:\n" + "\tread SVs 1,027 thru 1,030(?)\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x07, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x06 });
    assertEquals("SV2 test 24", "(SV Format 2) Discover all devices request initiated by agent 1\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x08, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x09 });
    assertEquals("SV2 test 25", "(SV Format 2) Identify Device request initiated by agent 1 to destination address 513\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x09, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x08 });
    assertEquals("SV2 test 26", "(SV Format 2) Change address request initiated by agent 1:\n" + "\tChange address of device with manufacturer 3, developer number 4, product 1,541, and serial number 2,055 so that it responds as destination address 513\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x0A, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x0B });
    assertEquals("SV2 test 27", "Unable to parse LocoNet message.\ncontents: E5 10 01 0A 02 10 01 02 03 04 10 05 06 07 08 0B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x0F, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x0E });
    assertEquals("SV2 test 28", "(SV Format 2) Reconfigure request initiated by agent 1 to destination address 513\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x41, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x40 });
    assertEquals("SV2 test 29", "(SV Format 2) Reply from destination address 513 for Write single SV request initiated by agent 1:\n" + "\tSV1,027 current value is 5\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x42, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x43 });
    assertEquals("SV2 test 30", "(SV Format 2) Reply from destination address 513 for Read single SV request initiated by agent 1:\n" + "\tSV1,027 current value is 5\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x43, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x42 });
    assertEquals("SV2 test 31", "(SV Format 2) Reply from destination address 513 for Write single SV (masked) request initiated by agent 1:\n" + "\tSV1,027 written with mask 6; SV1,027 current value is 5\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x45, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x44 });
    assertEquals("SV2 test 32", "(SV Format 2) Reply from destination address 513 to Write four request initiated by agent 1:\n" + "\tSVs 1,027 thru 1,030(?) current values are 5, 6, 7, and 8\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x46, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x47 });
    assertEquals("SV2 test 33", "(SV Format 2) Reply from destination address 513 to Read four request initiated by agent 1:\n" + "\tSVs 1,027 thru 1,030(?) current values are 5, 6, 7, and 8\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x47, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x46 });
    assertEquals("SV2 test 34", "(SV Format 2) Reply from destination address 513 to Discover devices request initiated by agent 1:\n" + "\tDevice characteristics are manufacturer 3, developer number 4, product 1,541, serial number 2,055\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x48, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x49 });
    assertEquals("SV2 test 35", "(SV Format 2) Reply from destination address 513 to Identify device request initiated by agent 1:\n" + "\tDevice characteristics are manufacturer 3, developer number 4, product 1,541, serial number 2,055\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x49, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x48 });
    assertEquals("SV2 test 36", "(SV Format 2) Reply to Change address request initiated by agent 1:\n" + "\tDevice with manufacturer 3, developer number 4, product 1,541, and serial number 2,055 is now using destination address 513\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x4A, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x4B });
    assertEquals("SV2 test 37", "Unable to parse LocoNet message.\ncontents: E5 10 01 4A 02 10 01 02 03 04 10 05 06 07 08 4B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x4F, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x4E });
    assertEquals("SV2 test 38", "(SV Format 2) Reply from destination address 513 to Reconfigure request initiated by agent 1:\n" + "\tDevice characteristics are manufacturer 3, developer number 4, product 1,541, serial number 2,055\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x00, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x01 });
    assertEquals("SV2 test 39", "Unable to parse LocoNet message.\ncontents: E5 10 01 00 02 10 01 02 03 04 10 05 06 07 08 01\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x11, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x10 });
    assertEquals("SV2 test 40", "Unable to parse LocoNet message.\ncontents: E5 10 01 11 02 10 01 02 03 04 10 05 06 07 08 10\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x21, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x20 });
    assertEquals("SV2 test 41", "Unable to parse LocoNet message.\ncontents: E5 10 01 21 02 10 01 02 03 04 10 05 06 07 08 20\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x31, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x30 });
    assertEquals("SV2 test 42", "Unable to parse LocoNet message.\ncontents: E5 10 01 31 02 10 01 02 03 04 10 05 06 07 08 30\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x40, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x41 });
    assertEquals("SV2 test 43", "Unable to parse LocoNet message.\ncontents: E5 10 01 40 02 10 01 02 03 04 10 05 06 07 08 41\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x51, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x50 });
    assertEquals("SV2 test 44", "Unable to parse LocoNet message.\ncontents: E5 10 01 51 02 10 01 02 03 04 10 05 06 07 08 50\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x61, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x60 });
    assertEquals("SV2 test 45", "Unable to parse LocoNet message.\ncontents: E5 10 01 61 02 10 01 02 03 04 10 05 06 07 08 60\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x71, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x70 });
    assertEquals("SV2 test 46", "Unable to parse LocoNet message.\ncontents: E5 10 01 71 02 10 01 02 03 04 10 05 06 07 08 70\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x01, 0x02, 0x00, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x10 });
    assertEquals("SV2 test 47", "Unable to parse LocoNet message.\ncontents: E5 10 01 01 02 00 01 02 03 04 10 05 06 07 08 10\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x01, 0x02, 0x10, 0x01, 0x02, 0x03, 0x04, 0x00, 0x05, 0x06, 0x07, 0x08, 0x10 });
    assertEquals("SV2 test 48", "Unable to parse LocoNet message.\ncontents: E5 10 01 01 02 10 01 02 03 04 00 05 06 07 08 10\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x01, 0x01, 0x10, 0x01, 0x02, 0x03, 0x04, 0x10, 0x05, 0x06, 0x07, 0x08, 0x03 });
    assertEquals("SV2 test 49", "Unable to parse LocoNet message.\ncontents: E5 10 01 01 01 10 01 02 03 04 10 05 06 07 08 03\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x01, 0x01, 0x10, 0x01, 0x02, 0x03, 0x04, 0x11, 0x05, 0x06, 0x07, 0x08, 0x03 });
    assertEquals("SV2 test 50", "Unable to parse LocoNet message.\ncontents: E5 10 01 01 01 10 01 02 03 04 11 05 06 07 08 03\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x01, 0x01, 0x10, 0x01, 0x02, 0x03, 0x04, 0x12, 0x05, 0x06, 0x07, 0x08, 0x03 });
    assertEquals("SV2 test 51", "Unable to parse LocoNet message.\ncontents: E5 10 01 01 01 10 01 02 03 04 12 05 06 07 08 03\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x01, 0x01, 0x10, 0x01, 0x02, 0x03, 0x04, 0x14, 0x05, 0x06, 0x07, 0x08, 0x03 });
    assertEquals("SV2 test 52", "Unable to parse LocoNet message.\ncontents: E5 10 01 01 01 10 01 02 03 04 14 05 06 07 08 03\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x10, 0x01, 0x01, 0x01, 0x10, 0x01, 0x02, 0x03, 0x04, 0x18, 0x05, 0x06, 0x07, 0x08, 0x03 });
    assertEquals("SV2 test 53", "Unable to parse LocoNet message.\ncontents: E5 10 01 01 01 10 01 02 03 04 18 05 06 07 08 03\n", f.displayMessage(l));
}
Also used : LocoNetMessage(jmri.jmrix.loconet.LocoNetMessage)

Example 45 with LocoNetMessage

use of jmri.jmrix.loconet.LocoNetMessage in project JMRI by JMRI.

the class LlnmonTest method testIplPingMessages.

public void testIplPingMessages() {
    LocoNetMessage l;
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping test 01", "Pinging device with serial number 0xAEE.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x01, 0x6E, 0x0A, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping test 02", "Pinging device with serial number 0x10AEE.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x01, 0x6E, 0x0A, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping test 03", "Pinging device with serial number 0x2000AEE.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping test 04", "Unable to parse LocoNet message.\ncontents: E5 14 08 08 01 6E 0A 00 00 03 00 00 00 00 00 00 00 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping test 05", "Unable to parse LocoNet message.\ncontents: E5 14 08 08 01 6E 0A 00 00 00 04 00 00 00 00 00 00 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping test 06", "Unable to parse LocoNet message.\ncontents: E5 14 08 08 01 6E 0A 00 00 00 00 05 00 00 00 00 00 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping test 07", "Unable to parse LocoNet message.\ncontents: E5 14 08 08 01 6E 0A 00 00 00 00 00 06 00 00 00 00 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping test 08", "Unable to parse LocoNet message.\ncontents: E5 14 08 08 01 6E 0A 00 00 00 00 00 00 07 00 00 00 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping test 09", "Unable to parse LocoNet message.\ncontents: E5 14 08 08 01 6E 0A 00 00 00 00 00 00 00 08 00 00 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping test 10", "Unable to parse LocoNet message.\ncontents: E5 14 08 08 01 6E 0A 00 00 00 00 00 00 00 00 09 00 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping test 11", "Unable to parse LocoNet message.\ncontents: E5 14 08 08 01 6E 0A 00 00 00 00 00 00 00 00 00 0A 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x6B });
    assertEquals("IPL Ping test 12", "Unable to parse LocoNet message.\ncontents: E5 14 08 08 01 6E 0A 00 00 00 00 00 00 00 00 00 00 0B 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x6B });
    assertEquals("IPL Ping test 13", "Unable to parse LocoNet message.\ncontents: E5 14 08 08 01 6E 0A 00 00 00 00 00 00 00 00 00 00 00 0C 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping test 14", "Unable to parse LocoNet message.\ncontents: E5 14 08 08 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping test 15", "Unable to parse LocoNet message.\ncontents: E5 14 08 08 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping test 16", "Unable to parse LocoNet message.\ncontents: E5 14 08 08 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping test 17", "Unable to parse LocoNet message.\ncontents: E5 14 08 08 70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x01, 0x6E, 0x0A, 0x00, 0x24, 0x00, 0x50, 0x0d, 0x21, 0x50, 0x43, 0x21, 0x17, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping Reply test 01", "Ping Report response from device with serial number 24000AEE: Local RSSI=21, Remote RSSI=50.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x00, 0x6E, 0x0A, 0x00, 0x24, 0x00, 0x50, 0x0d, 0x21, 0x50, 0x43, 0x21, 0x17, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping Reply test 01", "Ping Report response from device with serial number 24000A6E: Local RSSI=21, Remote RSSI=50.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x0d, 0x21, 0x50, 0x43, 0x21, 0x17, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping Reply test 01", "Unable to parse LocoNet message.\ncontents: E5 14 08 10 00 00 00 00 00 00 50 0D 21 50 43 21 17 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x0d, 0x21, 0x50, 0x43, 0x21, 0x17, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping Reply test 01", "Unable to parse LocoNet message.\ncontents: E5 14 08 10 70 00 00 00 00 00 50 0D 21 50 43 21 17 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x0d, 0x21, 0x50, 0x43, 0x21, 0x17, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping Reply test 01", "Unable to parse LocoNet message.\ncontents: E5 14 08 10 10 00 00 00 00 00 50 0D 21 50 43 21 17 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x0d, 0x21, 0x50, 0x43, 0x21, 0x17, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping Reply test 01", "Unable to parse LocoNet message.\ncontents: E5 14 08 10 20 00 00 00 00 00 50 0D 21 50 43 21 17 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x0d, 0x21, 0x50, 0x43, 0x21, 0x17, 0x00, 0x00, 0x6B });
    assertEquals("IPL Ping Reply test 01", "Unable to parse LocoNet message.\ncontents: E5 14 08 10 40 00 00 00 00 00 50 0D 21 50 43 21 17 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 01", "Ping Report response from device with serial number AEE: Local RSSI=00, Remote RSSI=00.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Ping Report response from device with serial number AEE: Local RSSI=10, Remote RSSI=00.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x14, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Ping Report response from device with serial number AEE: Local RSSI=89, Remote RSSI=00.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x18, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Ping Report response from device with serial number AEE: Local RSSI=09, Remote RSSI=80.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x10, 0x00, 0x00, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Ping Report response from device with serial number AEE: Local RSSI=09, Remote RSSI=21.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x07, 0x10, 0x01, 0x6E, 0x0A, 0x00, 0x00, 0x10, 0x00, 0x00, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Unable to parse LocoNet message.\ncontents: E5 14 07 10 01 6E 0A 00 00 10 00 00 09 21 00 00 00 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x01, 0x00, 0x0A, 0x00, 0x00, 0x10, 0x00, 0x00, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Ping Report response from device with serial number A80: Local RSSI=09, Remote RSSI=21.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x01, 0x00, 0x00, 0x33, 0x00, 0x10, 0x00, 0x00, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Ping Report response from device with serial number 330080: Local RSSI=09, Remote RSSI=21.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x03, 0x00, 0x00, 0x33, 0x00, 0x10, 0x00, 0x00, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Ping Report response from device with serial number 338080: Local RSSI=09, Remote RSSI=21.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x07, 0x00, 0x00, 0x33, 0x00, 0x10, 0x00, 0x00, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Ping Report response from device with serial number B38080: Local RSSI=09, Remote RSSI=21.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x07, 0x00, 0x00, 0x33, 0x02, 0x10, 0x00, 0x00, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Ping Report response from device with serial number 2B38080: Local RSSI=09, Remote RSSI=21.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x0F, 0x00, 0x00, 0x33, 0x02, 0x10, 0x00, 0x00, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Ping Report response from device with serial number 82B38080: Local RSSI=09, Remote RSSI=21.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0, 0x10, 0x00, 0x00, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Unable to parse LocoNet message.\ncontents: E5 14 08 10 00 00 00 00 00 10 00 00 09 21 00 00 00 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x00, 0x01, 0x00, 0x00, 0x0, 0x10, 0x00, 0x00, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Ping Report response from device with serial number 1: Local RSSI=09, Remote RSSI=21.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x01, 0x02, 0x00, 0x00, 0x0, 0x10, 0x00, 0x00, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Ping Report response from device with serial number 82: Local RSSI=09, Remote RSSI=21.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x00, 0x00, 0x03, 0x00, 0x0, 0x10, 0x00, 0x00, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Ping Report response from device with serial number 300: Local RSSI=09, Remote RSSI=21.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x10, 0x02, 0x00, 0x03, 0x00, 0x0, 0x10, 0x00, 0x00, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Ping Report response from device with serial number 8300: Local RSSI=09, Remote RSSI=21.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x09, 0x02, 0x00, 0x03, 0x00, 0x0, 0x10, 0x00, 0x00, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Unable to parse LocoNet message.\ncontents: E5 14 08 09 02 00 03 00 00 10 00 00 09 21 00 00 00 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x11, 0x02, 0x00, 0x03, 0x00, 0x0, 0x10, 0x00, 0x00, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping report test 02", "Unable to parse LocoNet message.\ncontents: E5 14 08 11 02 00 03 00 00 10 00 00 09 21 00 00 00 00 00 6B\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping test 01", "Pinging device with serial number 0x1.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping test 01", "Pinging device with serial number 0x81.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping test 01", "Pinging device with serial number 0x200.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping test 01", "Pinging device with serial number 0x8200.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping test 01", "Pinging device with serial number 0x90000.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping test 01", "Pinging device with serial number 0x890000.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping test 01", "Pinging device with serial number 0xA000000.\n", f.displayMessage(l));
    l = new LocoNetMessage(new int[] { 0xE5, 0x14, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B });
    assertEquals("IPL ping test 01", "Pinging device with serial number 0x8B000000.\n", f.displayMessage(l));
}
Also used : LocoNetMessage(jmri.jmrix.loconet.LocoNetMessage)

Aggregations

LocoNetMessage (jmri.jmrix.loconet.LocoNetMessage)103 Test (org.junit.Test)8 JFrame (javax.swing.JFrame)3 LocoNetInterfaceScaffold (jmri.jmrix.loconet.LocoNetInterfaceScaffold)3 LocoNetSystemConnectionMemo (jmri.jmrix.loconet.LocoNetSystemConnectionMemo)3 LocoStatsPanel (jmri.jmrix.loconet.locostats.swing.LocoStatsPanel)3 JmriJFrame (jmri.util.JmriJFrame)3 LocoNetSlot (jmri.jmrix.loconet.LocoNetSlot)2 SpjFile (jmri.jmrix.loconet.spjfile.SpjFile)2 BufferedReader (java.io.BufferedReader)1 IOException (java.io.IOException)1 InputStreamReader (java.io.InputStreamReader)1 StringTokenizer (java.util.StringTokenizer)1 LnPacketizer (jmri.jmrix.loconet.LnPacketizer)1 LnReporter (jmri.jmrix.loconet.LnReporter)1 LnTrafficController (jmri.jmrix.loconet.LnTrafficController)1 LnTurnout (jmri.jmrix.loconet.LnTurnout)1