### Question:
Iterables { public static <T> List<T> asList(Iterable<? extends T> iterable) { return listFrom(iterable); } private  Iterables(); static Iterable<T> concat(Iterable<? extends Iterable<? extends T>> iterables); static List<T> asList(Iterable<? extends T> iterable); static Set<T> asSet(Iterable<? extends T> iterable); static Multiset<T> asMultiset(Iterable<? extends T> iterable); static Collection<T> materialize(Iterable<? extends T> iterable); static Iterable<T> empty();  }### Answer:
@Test public void shouldConvertTheSuppliedIterableToAList() { Iterable<Integer> iterable = basicIterableOver(1, 2, 2, 3, 3, 3); List<Integer> expectedList = listWith(1, 2, 2, 3, 3, 3); List<Integer> actualList = asList(iterable); assertThat(actualList, hasOnlyItemsInOrder(expectedList)); }
@Test(expected = NullPointerException.class) public void shouldThrowANullPointerExceptionIfIterablePassedToAsListIsNull() throws Exception { asList(null); }