### Question:
FunkyFunctionWithInput implements ClassFunctionWithInput<T> { @Override public String getClassSimpleName() { return executor.getClassSimpleName(); } FunkyFunctionWithInput(ClassFunction<T> executor, InputHolder inputHolder); T execute(Object input); @Override String getClassSimpleName();  }### Answer:
@Test public void getClassSimpleNameDelegatesToClassExecutor() { String classSimpleName = "classSimpleName"; when(function.getClassSimpleName()).thenReturn(classSimpleName); assertSame(classSimpleName, functionWithInput.getClassSimpleName()); verify(function).getClassSimpleName(); }