// test sending a message.
  public void testSendMessage() {
    StringBuilder sb = new StringBuilder();
    java.io.DataOutputStream output =
        new java.io.DataOutputStream(
            new java.io.OutputStream() {
              @Override
              public void write(int b) throws java.io.IOException {
                sb.append((char) b);
              }
            });
    java.io.DataInputStream input = new java.io.DataInputStream(System.in);
    SimpleLightServer a = new SimpleLightServer(input, output);
    // NOTE: this test uses reflection to test a private method.
    java.lang.reflect.Method sendMessageMethod = null;
    try {
      sendMessageMethod = a.getClass().getDeclaredMethod("sendMessage", String.class);
    } catch (java.lang.NoSuchMethodException nsm) {
      Assert.fail("Could not find method sendMessage in SimpleLightServer class. ");
    }

    // override the default permissions.
    Assert.assertNotNull(sendMessageMethod);
    sendMessageMethod.setAccessible(true);
    try {
      sendMessageMethod.invoke(a, "Hello World");
      Assert.assertEquals("SendMessage Check", "Hello World", sb.toString());
    } catch (java.lang.IllegalAccessException iae) {
      Assert.fail("Could not access method sendMessage in SimpleLightServer class");
    } catch (java.lang.reflect.InvocationTargetException ite) {
      Throwable cause = ite.getCause();
      Assert.fail("sendMessage executon failed reason: " + cause.getMessage());
    }
  }
 // test sending an error message.
 public void testSendErrorStatus() {
   StringBuilder sb = new StringBuilder();
   java.io.DataOutputStream output =
       new java.io.DataOutputStream(
           new java.io.OutputStream() {
             @Override
             public void write(int b) throws java.io.IOException {
               sb.append((char) b);
             }
           });
   java.io.DataInputStream input = new java.io.DataInputStream(System.in);
   SimpleLightServer a = new SimpleLightServer(input, output);
   try {
     a.sendErrorStatus("IT1");
     Assert.assertEquals("sendErrorStatus check", "LIGHT ERROR\n", sb.toString());
   } catch (java.io.IOException ioe) {
     Assert.fail("Exception sending Error Status");
   }
 }