### Question:
DefaultAuditor implements Auditor { @Override public boolean shouldLogFailedBatchSummary() { return logTimingStrategy.shouldLogFailedBatchSummary(); } DefaultAuditor(AuditLogger logger, AuditFilter filter, AuditObfuscator obfuscator, LogTimingStrategy logTimingStrategy);   DefaultAuditor(AuditLogger logger, AuditFilter filter, AuditObfuscator obfuscator, AuditMetrics auditMetrics, LogTimingStrategy logTimingStrategy); @Override void setup(); @Override void audit(AuditEntry logEntry); @Override boolean shouldLogForStatus(Status status); @Override boolean shouldLogFailedBatchSummary(); @Override void setLogTimingStrategy(LogTimingStrategy logTimingStrategy); @Override void addLogger(AuditLogger logger); @Override void removeLogger(AuditLogger logger);  }### Answer:
@Test public void testShouldLogFailedBatchSummaryForwardedToLogTimingStrategy() { when(mockLogTimingStrategy.shouldLogFailedBatchSummary()).thenReturn(true, false); boolean first = auditor.shouldLogFailedBatchSummary(); boolean second = auditor.shouldLogFailedBatchSummary(); assertThat(first).isTrue(); assertThat(second).isFalse(); }