@Test public void testAssertTypes() throws Exception { assertTypes(new AList<>().appendAll(1,2,3), Integer.class); assertTypes(new AList<>().appendAll(1,2,3), Object.class); assertTypes(new AList<>().appendAll(String.class), String.class); assertTypes(new AList<>().appendAll(String.class), CharSequence.class); assertTypes(new AList<>().appendAll(1,2,3), Long.class); } catch (Exception e) { assertEquals("Invalid list entry '1' (Integer). Not one of the following types: ['java.lang.Long']", e.getMessage()); assertTypes(new AList<>().appendAll(1,2,3), String.class); } catch (Exception e) { assertEquals("Invalid list entry '1' (Integer). Not one of the following types: ['java.lang.String']", e.getMessage()); assertTypes(new AList<>().appendAll(String.class), StringBuilder.class); } catch (Exception e) { assertEquals("Invalid list entry ''java.lang.String'' (Class). Not one of the following types: ['java.lang.StringBuilder']", e.getMessage()); assertTypes(new AList<>().appendAll(CharSequence.class), String.class); } catch (Exception e) { assertEquals("Invalid list entry ''java.lang.CharSequence'' (Class). Not one of the following types: ['java.lang.String']", e.getMessage());