ListUtils { public static String join(String sep, Object[] os) { return join(sep, asList(os)); } private  ListUtils(); static String andJoin(Object first, Object[] os); static String andJoin(Object first, List<?> os); static String join(String sep, Object[] os); static String join(String sep, List<?> os); static List<T> concat(List<T> a, List<T> b); static EnumSet<T> concat(EnumSet<T> a, EnumSet<T> b);  }
@Test void emptyArray() { assertEquals("", join(",", new String[]{})); }
@Test void oneElementArray() { assertEquals("a", join(",", new String[]{"a"})); }
@Test void multiElementArray() { assertEquals("a,b", join(",", new String[]{"a", "b"})); }
@Test void notStringArray() { assertEquals("1,2", join(",", new Integer[]{1, 2})); }
@Test void emptyList() { assertEquals("", join(",", asList())); }
@Test void oneElementList() { assertEquals("a", join(",", asList("a"))); }
@Test void multiElementList() { assertEquals("a,b", join(",", asList("a", "b"))); }
@Test void notStringList() { assertEquals("1,2", join(",", asList(1, 2))); }