### Question:
JRobinRrdStrategy implements RrdStrategy<RrdDef,RrdDb> { public InputStream createGraph(final String command, final File workDir) throws IOException, org.opennms.netmgt.rrd.RrdException { return createGraphReturnDetails(command, workDir).getInputStream(); } JRobinRrdStrategy(); Properties getConfigurationProperties(); void setConfigurationProperties(final Properties configurationParameters); void closeFile(final RrdDb rrdFile); RrdDef createDefinition(final String creator,
			final String directory, final String rrdName, int step,
			final List<RrdDataSource> dataSources, final List<String> rraList); void createFile(final RrdDef rrdDef,  Map<String, String> attributeMappings); RrdDb openFile(final String fileName); void updateFile(final RrdDb rrdFile, final String owner, final String data); Double fetchLastValue(final String fileName, final String ds, final int interval); Double fetchLastValue(final String fileName, final String ds, final String consolidationFunction, final int interval); Double fetchLastValueInRange(final String fileName, final String ds, final int interval, final int range); InputStream createGraph(final String command, final File workDir); RrdGraphDetails createGraphReturnDetails(final String command, final File workDir); void promoteEnqueuedFiles(Collection<String> rrdFiles); String getStats(); int getGraphLeftOffset(); int getGraphRightOffset(); int getGraphTopOffsetWithText(); String getDefaultFileExtension(); static String[] tokenizeWithQuotingAndEscapes(String line, String delims, boolean processQuoted); static String[] tokenizeWithQuotingAndEscapes(final String line, final String delims, final boolean processQuoted, final String tokens); static char[] escapeIfNotPathSepInDEF(final char encountered, final char escaped, final StringBuffer currToken);  }### Answer:
@Test public void testCommandWithoutDrawing() throws Exception { long end = System.currentTimeMillis(); long start = end - (24 * 60 * 60 * 1000); String command = "--start=" + start + " --end=" + end; ThrowableAnticipator ta = new ThrowableAnticipator(); ta.anticipate(new RrdException(ThrowableAnticipator.IGNORE_MESSAGE)); try { m_strategy.createGraph(command, new File("")); } catch (Throwable t) { ta.throwableReceived(t); String problemText = "no graph was produced"; assertTrue("cause message should contain '" + problemText + "'", t.getMessage().contains(problemText)); String suggestionText = "Does the command have any drawing commands"; assertTrue("cause message should contain '" + suggestionText + "'", t.getMessage().contains(suggestionText)); } ta.verifyAnticipated(); }