@Test
public void isInstance() {

    assertFalse(ClassUtil.isInstance(null, null));
    assertFalse(ClassUtil.isInstance(Object.class, null));
    assertFalse(ClassUtil.isInstance(null, 0));
    assertTrue(ClassUtil.isInstance(Object.class, new Object()));
    assertTrue(ClassUtil.isInstance(Object.class, 0));
    assertTrue(ClassUtil.isInstance(Object.class, "test"));
    assertFalse(ClassUtil.isInstance(String.class, 0));
    assertTrue(ClassUtil.isInstance(String.class, "test"));
    assertFalse(ClassUtil.isInstance(Integer.class, "test"));
    assertTrue(ClassUtil.isInstance(Serializable.class, "test"));
    assertFalse(ClassUtil.isInstance(Serializable.class, new ClassUtilTest()));
    assertTrue(ClassUtil.isInstance(Integer.class, 0));
    assertTrue(ClassUtil.isInstance(int.class, 0));
    assertFalse(ClassUtil.isInstance(long.class, 0));
    assertFalse(ClassUtil.isInstance(Long.class, 0));
    assertFalse(ClassUtil.isInstance(int[].class, new Integer[] { 0 }));
    assertFalse(ClassUtil.isInstance(Integer[].class, new int[] { 0 }));
    assertTrue(ClassUtil.isInstance(int[].class, new int[] { 0 }));
    assertTrue(ClassUtil.isInstance(Integer[].class, new Integer[] { 0 }));
}