### Question:
ReflectionUtils { public static boolean hasDefaultConstructor(Class<?> type) { logger.entering(type); checkArgument(type != null, "type cannot be null."); boolean flag = false; try { flag = (type.getConstructor(new Class<?>[] {}) != null); } catch (NoSuchMethodException | SecurityException e) { } logger.exiting(flag); return flag; } private  ReflectionUtils(); static boolean hasOneArgStringConstructor(Class<?> type); static boolean hasDefaultConstructor(Class<?> type); static Object instantiateDefaultCustomTypeArray(DefaultCustomType type, String[] values); static Object instantiatePrimitiveArray(Class<?> type, String[] values); static Object instantiatePrimitiveObject(Class<?> type, Object objectToInvokeUpon, String valueToAssign); static Object instantiateWrapperArray(Class<?> type, String[] values); static Object instantiateWrapperObject(Class<?> type, Object objectToInvokeUpon, String valueToAssign); static boolean isPrimitiveArray(Class<?> type); static boolean isWrapperArray(Class<?> type);  }### Answer:
@Test(groups = "unit") public void testHasDefaultConstructor() { assertTrue(ReflectionUtils.hasDefaultConstructor(String.class)); }
@Test(groups = "unit") public void testHasDefaultConstructorFalseCondition() { assertFalse(ReflectionUtils.hasDefaultConstructor(int.class)); }
@Test(groups = "unit", expectedExceptions = { IllegalArgumentException.class }) public void testHasDefaultConstructorErrorCondition() { assertTrue(ReflectionUtils.hasDefaultConstructor(null)); }
@Test(groups = "unit") public void testHasOneArgStringConstructorFalseCondition() { assertFalse(ReflectionUtils.hasDefaultConstructor(int.class)); }
@Test(groups = "unit", expectedExceptions = { IllegalArgumentException.class }) public void testHasOneArgStringConstructorErrorCondition() { assertTrue(ReflectionUtils.hasDefaultConstructor(null)); }