### Question:
ObjectUtils { public static boolean getBoolean(Object v) { if (ObjectUtils.isEmpty(v)) return false; if (v instanceof Boolean) return ((Boolean)v).booleanValue(); if (v instanceof Number) return (((Number)v).intValue()!=0); String val = v.toString(); return (val.equalsIgnoreCase("Y") || val.equalsIgnoreCase("true")); } private  ObjectUtils(); static boolean isEmpty(Object o); static int lengthOf(Object o); @SuppressWarnings("unchecked") static boolean compareEqual(Object o1, Object o2); static boolean compareEqual(Object[] array1, Object[] array2); static T coalesce(T preferred, T alternative); static int toInteger(Object v); static int getInteger(Object v, int defValue); static int getInteger(Object v); static long toLong(Object v); static long getLong(Object v, long defValue); static long getLong(Object v); static double toDouble(Object v); static double getDouble(Object v, double defValue); static double getDouble(Object v); static BigDecimal toDecimal(Object v); static BigDecimal getDecimal(Object v, BigDecimal defValue); static BigDecimal getDecimal(Object v); static boolean getBoolean(Object v); @SuppressWarnings("unchecked") static T getEnum(Class<T> enumType, Object value); static Date getDate(Object v, Locale locale); static Date getDate(Object v); static String formatDate(Date date, boolean withTime); @SuppressWarnings("unchecked") static T convert(Class<T> c, Object v); static boolean isAssignmentCompatible(Class<?> target, Class<?> source); static List<T> convert(Class<T> t, Collection<? extends T> source); static String[] toStringArray(Object[] objArray, String defValue); static boolean contains(T[] array, T item); static synchronized Object getFieldValue(Class<?> clazz, Object object, String property, boolean includePrivateFields); static Object getFieldValue(Object object, String property); static Object getPrivateFieldValue(Object object, String property); static synchronized Object invokeSimpleMethod(Class<?> clazz, Object object, String methodName, boolean includePrivateMethods); static Object invokeSimpleMethod(Object object, String methodName); static Object invokeSimplePrivateMethod(Object object, String methodName); static final NoValue NO_VALUE; }### Answer:
@Test public void testGetBoolean() { assertTrue(ObjectUtils.getBoolean(true)); assertTrue(ObjectUtils.getBoolean(Boolean.TRUE)); assertTrue(ObjectUtils.getBoolean(new Boolean("true"))); assertTrue(ObjectUtils.getBoolean(Boolean.valueOf(true))); assertTrue(ObjectUtils.getBoolean(1)); assertTrue(ObjectUtils.getBoolean(-123)); assertTrue(ObjectUtils.getBoolean("Y")); assertTrue(ObjectUtils.getBoolean("y")); assertTrue(ObjectUtils.getBoolean("TrUe")); assertTrue(ObjectUtils.getBoolean("true")); assertTrue(ObjectUtils.getBoolean("TRUE")); assertFalse(ObjectUtils.getBoolean(null)); assertFalse(ObjectUtils.getBoolean(false)); assertFalse(ObjectUtils.getBoolean(Boolean.FALSE)); assertFalse(ObjectUtils.getBoolean(new Boolean("false"))); assertFalse(ObjectUtils.getBoolean(Boolean.valueOf(false))); assertFalse(ObjectUtils.getBoolean(0)); assertFalse(ObjectUtils.getBoolean(Float.valueOf(0))); assertFalse(ObjectUtils.getBoolean(new Object())); assertFalse(ObjectUtils.getBoolean("JUnit")); assertFalse(ObjectUtils.getBoolean("false")); }