@Test
public void getAllSuperclasses() {

    assertEquals(null, ClassUtil.getAllSuperclasses(null));
    assertTrue(ClassUtil.getAllSuperclasses(Object.class).isEmpty());
    assertTrue(ClassUtil.getAllSuperclasses(String.class).isEmpty());
    List<Class<?>> supers = ClassUtil.getAllSuperclasses(ArrayList.class);
    assertTrue(supers.contains(AbstractList.class));
    assertTrue(supers.contains(AbstractCollection.class));
    assertFalse(supers.contains(List.class));
    assertFalse(supers.contains(Object.class));
    assertTrue(ClassUtil.getAllSuperclasses(int.class).isEmpty());
    assertTrue(ClassUtil.getAllSuperclasses(int[].class).isEmpty());
    assertTrue(ClassUtil.getAllSuperclasses(Integer.class).contains(Number.class));
    assertTrue(ClassUtil.getAllSuperclasses(Integer[].class).isEmpty());
}