### Question:
RippleScriptEngineFactory implements ScriptEngineFactory { public String getProgram(final String... statements) { StringBuilder sb = new StringBuilder(); boolean first = true; for (String st : statements) { if (first) { first = false; } else { sb.append("\n"); } sb.append(st); sb.append("."); } return sb.toString(); } RippleScriptEngineFactory(); String getEngineName(); String getEngineVersion(); List<String> getExtensions(); List<String> getMimeTypes(); List<String> getNames(); String getLanguageName(); String getLanguageVersion(); Object getParameter(final String key); String getMethodCallSyntax(final String obj,
                                      final String m,
                                      final String... args); String getOutputStatement(final String toDisplay); String getProgram(final String... statements); ScriptEngine getScriptEngine();  }### Answer:
@Test public void testGetProgram() throws Exception { ScriptEngineFactory f = new RippleScriptEngineFactory(); assertEquals("", f.getProgram()); assertEquals("1 2 add >>.", f.getProgram("1 2 add >>")); assertEquals("ex:bob foaf:name >> ..\n1 2 add >> 5 mul >>.", f.getProgram("ex:bob foaf:name >> .", "1 2 add >> 5 mul >>")); }