### Question:
FileMonitor { public FileMonitor(final String name, final File statusFile, final File stopFile, final File directory, final DigestAlgo digest, final long elapseTime, final FileFilter filter, final boolean scanSubdir, final FileMonitorCommandRunnableFuture commandValidFile, final FileMonitorCommandRunnableFuture commandRemovedFile, final FileMonitorCommandRunnableFuture commandCheckIteration) { if (logger == null) { logger = WaarpLoggerFactory.getLogger(FileMonitor.class); } this.name = name; this.statusFile = statusFile; this.stopFile = stopFile; directories.add(directory); scanSubDir = scanSubdir; if (digest == null) { this.digest = defaultDigestAlgo; } else { this.digest = digest; } if (elapseTime >= MINIMAL_DELAY) { this.elapseTime = (elapseTime / 10) * 10; } if (filter != null) { this.filter = filter; } this.commandValidFile = commandValidFile; this.commandRemovedFile = commandRemovedFile; this.commandCheckIteration = commandCheckIteration; if (statusFile != null) { checkFile = new File(statusFile.getAbsolutePath() + ".chk"); } reloadStatus(); setNextDay(); } FileMonitor(final String name, final File statusFile,
                     final File stopFile, final File directory,
                     final DigestAlgo digest, final long elapseTime,
                     final FileFilter filter, final boolean scanSubdir,
                     final FileMonitorCommandRunnableFuture commandValidFile,
                     final FileMonitorCommandRunnableFuture commandRemovedFile,
                     final FileMonitorCommandRunnableFuture commandCheckIteration); void setCommandCheckIteration(
      final FileMonitorCommandRunnableFuture commandCheckIteration); void setCommandValidFileFactory(
      final FileMonitorCommandFactory factory, final int fixedPool); long getElapseWaarpTime(); void setElapseWaarpTime(final long elapseWaarpTime); boolean isIgnoreAlreadyUsed(); void setIgnoreAlreadyUsed(final boolean ignoreAlreadyUsed); void setCheckDelay(final long checkDelay); void addDirectory(final File directory); void removeDirectory(final File directory); boolean initialized(); long getCurrentHistoryNb(); void setNextAsFullStatus(); String getStatus(); long getElapseTime(); void setElapseTime(final long elapseTime); void setFilter(final FileFilter filter); void start(); void stop(); File peek(); File poll(); void waitForStopFile(); static void main(final String[] args);  }### Answer:
@Test public void testFileMonitor() throws Exception { testFileMonitor(true); }