### Question:
BSHLogListener implements org.jpos.util.LogListener, org.jpos.core.Configurable { protected ScriptInfo getScriptInfo(String filename){ Objects.requireNonNull(filename, "The script file name cannot be null"); return scripts.get(filename); } BSHLogListener(); @Override void setConfiguration(org.jpos.core.Configuration cfg); @Override LogEvent log(LogEvent ev);  }### Answer:
@Test public void testGetScriptInfo() throws Throwable { BSHLogListener bSHLogListener = new BSHLogListener(); BSHLogListener.ScriptInfo result = bSHLogListener.getScriptInfo("testBSHLogListenerFilename"); assertNull(result, "result"); assertEquals(0, bSHLogListener.scripts.size(), "bSHLogListener.scripts.size()"); }
@Test public void testGetScriptInfoThrowsNullPointerException() throws Throwable { BSHLogListener bSHLogListener = new BSHLogListener(); try { bSHLogListener.getScriptInfo(null); fail("Expected NullPointerException to be thrown"); } catch (NullPointerException ex) { assertEquals("The script file name cannot be null", ex.getMessage()); assertEquals(0, bSHLogListener.scripts.size()); } }