@Test
public void shouldLogAMessageSuppliedByASupplier() throws Exception {

    final String logMessage = "A log message";
    final Logger logger = mock(Logger.class);
    final Supplier<String>  stringSupplier = mock(Supplier.class);
    when(logger.isTraceEnabled()).thenReturn(true);
    when(stringSupplier.get()).thenReturn(logMessage);
    defaultTraceLogger.trace(logger, stringSupplier);
    verify(logger).trace(logMessage);
}