@Test
public void getAllInterfaces() {

    assertEquals(null, ClassUtil.getAllInterfaces(null));
    assertTrue(ClassUtil.getAllInterfaces(Object.class).isEmpty());
    assertFalse(ClassUtil.getAllInterfaces(String.class).isEmpty());
    assertFalse(ClassUtil.getAllInterfaces(Class.class).isEmpty());
    List<Class<?>> supers = ClassUtil.getAllInterfaces(ArrayList.class);
    assertFalse(supers.contains(AbstractList.class));
    assertFalse(supers.contains(AbstractCollection.class));
    assertTrue(supers.contains(List.class));
    assertTrue(supers.contains(RandomAccess.class));
    assertTrue(supers.contains(Iterable.class));
    assertFalse(supers.contains(Object.class));
    assertTrue(ClassUtil.getAllInterfaces(int.class).isEmpty());
    // assertTrue(ClassUtil.getAllInterfaces(int[].class).isEmpty());
    assertFalse(ClassUtil.getAllInterfaces(Integer.class).contains(Number.class));
    assertTrue(ClassUtil.getAllInterfaces(Integer.class).contains(Comparable.class));
    List<Class<?>> list = ClassUtil.getAllInterfaces(Integer[].class);
    assertTrue(list.contains(Cloneable.class));
    assertTrue(list.contains(Serializable.class));
}