// 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"); } }