### Question:
FunkyFunction implements ClassFunction<T> { @Override public String getClassSimpleName() { return constructor.getDeclaringClass().getSimpleName(); } FunkyFunction(Class<T> applyingClass, Object... constructorArguments); T execute(); @Override String getClassSimpleName();  }### Answer:
@Test public void getSimpleNameReturnsDeclaringClassSimpleName() { class Instantiated {} FunkyFunction<Instantiated> executor = new FunkyFunction<Instantiated>(Instantiated.class); assertEquals("Instantiated", executor.getClassSimpleName()); }