### Question:
Intenso { public static <T> T invoke(Object target, String methodName) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException { return invoke(target, methodName, null, null); } private  Intenso(); static T tryInvoke(Object target, String methodName); static T tryInvoke(Object target, String methodName, Class[] argTypes, Object[] args); static T invoke(Object target, String methodName); static T invoke(Object target, String methodName, Class[] argTypes, Object[] args); static T tryInvoke(Class<?> clazz, String methodName); static T tryInvoke(Class<?> clazz, String methodName, Class[] argTypes, Object[] args); static T invoke(Class<?> clazz, String methodName); static T invoke(Class<?> clazz, String methodName, Class[] argTypes, Object[] args); static T tryGet(Object target, String fieldName); static T get(Object target, String fieldName); static void trySet(Object target, String fieldName, Object value); static void set(Object target, String fieldName, Object value); static void tryOverwrite(Object target, String fieldName, Object newValue); static void overwrite(Object target, String fieldName, Object newValue); static void tryOverwrite(Class<?> clazz, String fieldName, Object newValue); static void overwrite(Class<?> clazz, String fieldName, Object newValue);  }### Answer:
@Test public void invoke_instanceMethod() throws Exception { InvocationTarget target = new InvocationTarget(); assertEquals("hogehogehoge", Intenso.invoke(target, "hoge")); }
@Test public void invoke_classMethod() throws Exception { assertEquals("fugafugafuga", Intenso.invoke(InvocationTarget.class, "fuga")); }