public void testSerialOutput() {
   SerialTrafficController c = new SerialTrafficController();
   SerialNode a = new SerialNode();
   Assert.assertNotNull("exists", a);
   SerialNode g = new SerialNode(5, SerialNode.DAUGHTER);
   Assert.assertTrue("must Send", g.mustSend());
   g.resetMustSend();
   Assert.assertTrue("must Send off", !(g.mustSend()));
   c.setSerialOutput("VL5B2", false);
   c.setSerialOutput("VL5B1", false);
   c.setSerialOutput("VL5B23", false);
   c.setSerialOutput("VL5B22", false);
   c.setSerialOutput("VL5B21", false);
   c.setSerialOutput("VL5B2", true);
   c.setSerialOutput("VL5B19", false);
   c.setSerialOutput("VL5B5", false);
   c.setSerialOutput("VL5B20", false);
   c.setSerialOutput("VL5B17", true);
   Assert.assertTrue("must Send on", g.mustSend());
   AbstractMRMessage m = g.createOutPacket();
   Assert.assertEquals("packet size", 9, m.getNumDataElements());
   Assert.assertEquals("node address", 5, m.getElement(0));
   Assert.assertEquals("byte 1 lo nibble", 0x02, m.getElement(1));
   Assert.assertEquals("byte 1 hi nibble", 0x10, m.getElement(2));
   Assert.assertEquals("byte 2 lo nibble", 0x20, m.getElement(3));
   Assert.assertEquals("byte 2 hi nibble", 0x30, m.getElement(4));
   Assert.assertEquals("byte 3 lo nibble", 0x41, m.getElement(5));
   Assert.assertEquals("byte 3 hi nibble", 0x50, m.getElement(6));
   Assert.assertEquals("byte 4 lo nibble", 0x60, m.getElement(7));
   Assert.assertEquals("byte 4 hi nibble", 0x70, m.getElement(8));
 }