### Question:
Log4j2StatusLoggerWrapper implements Logger { @Override public void info(String messageFormat, Object... parameters) { logger.info(messageFormat, parameters); } Log4j2StatusLoggerWrapper();   Log4j2StatusLoggerWrapper(AbstractLogger logger); @Override void error(String messageFormat, Object... parameters); @Override void warn(String messageFormat, Object... parameters); @Override void info(String messageFormat, Object... parameters); @Override void debug(String messageFormat, Object... parameters); @Override void trace(String messageFormat, Object... parameters);  }### Answer:
@Test public void infoDelegatesProperly() { String expectedMessage = UUID.randomUUID().toString(); AbstractLogger logger = mock(AbstractLogger.class); Logger wrapper = new Log4j2StatusLoggerWrapper(logger); String arg1 = UUID.randomUUID().toString(); String arg2 = UUID.randomUUID().toString(); wrapper.info(expectedMessage, arg1, arg2); ArgumentCaptor<Object[]> captor = ArgumentCaptor.forClass(Object[].class); verify(logger).info(eq(expectedMessage), captor.capture()); assertEquals(arg1, captor.getAllValues().get(0)); assertEquals(arg2, captor.getAllValues().get(1)); }