### Question:
ReflectionUtils { public static <T> T construct(Class<? extends T> type, Object... parameters) throws ConfigurationException { return construct(type, getParameterClasses(parameters), parameters); } private  ReflectionUtils(); static T construct(Class<? extends T> type, Object... parameters); static T construct(Class<? extends T> type, Class<?>[] parameterClasses, Object... parameters); static Class<? extends T> resolveClassOfType(String className, Class<T> wantedClass, Class<?>... parameterClasses);  }### Answer:
@Test public void testConstructClassWithPrivateConstructor() { assertThatExceptionOfType(ConfigurationException.class) .isThrownBy(() -> ReflectionUtils.construct(ClassWithPrivateConstructor.class)); }
@Test public void testConstructAbstractClass() { assertThatExceptionOfType(ConfigurationException.class) .isThrownBy(() -> ReflectionUtils.construct(AbstractClass.class)); }
@Test public void testConstructWithThrowingConstructor() { assertThatExceptionOfType(ConfigurationException.class) .isThrownBy(() -> ReflectionUtils.construct(ThrowingConstructor.class)); }