### Question:
StatisticsCounters implements StatisticsHandler { public void startLogReport(int logReportDelay){ if(runLogReport){ return; } if(logReportDelay <= 0){ throw new IllegalArgumentException("logReportDelay has to be greater than 0"); } if(logReportDelay < MINIMAL_LOG_REPORT_PERIOD){ this.logReportPeriod = MINIMAL_LOG_REPORT_PERIOD; } else { this.logReportPeriod = logReportDelay; } logReporter = new Timer("SC_Timer"); logReporter.schedule(new LogReporterTask(this), this.logReportPeriod, this.logReportPeriod); runLogReport = true; LOG.debug("Statistics log reporter has been scheduled with period {} ms", this.logReportPeriod); } private  StatisticsCounters(); static synchronized StatisticsCounters getInstance(); void startCounting(boolean reportToLogs, int logReportDelay); void stopCounting(); boolean isRunCounting(); void startLogReport(int logReportDelay); void stopLogReport(); boolean isRunLogReport(); int getLogReportPeriod(); boolean isCounterEnabled(CounterEventTypes counterEventKey); Counter getCounter(CounterEventTypes counterEventKey); void incrementCounter(CounterEventTypes counterEventKey); @Override void resetCounters(); @Override String printStatistics(); static final int DEFAULT_LOG_REPORT_PERIOD; static final int MINIMAL_LOG_REPORT_PERIOD; }### Answer:
@Test(expected = IllegalArgumentException.class) public void testLogReportBadPeriod(){ statCounters.startLogReport(0); }