### Question:
ListOps { static <T, U> U foldLeft(List<T> list, U initial, BiFunction<U, T, U> f) { throw new UnsupportedOperationException("Delete this statement and write your own implementation."); } private  ListOps();   }### Answer:
@Ignore("Remove to run test") @Test public void testFoldLeftEmptyList() { assertEquals( new Double(2.0), ListOps.foldLeft( Collections.<Double>emptyList(), 2.0, (x, y) -> x * y ) ); }
@Ignore("Remove to run test") @Test public void testFoldLeftDirectionIndependentFunctionAppliedToNonEmptyList() { assertEquals( new Integer(15), ListOps.foldLeft( Arrays.asList(1, 2, 3, 4), 5, (x, y) -> x + y ) ); }
@Ignore("Remove to run test") @Test public void testFoldLeftDirectionDependentFunctionAppliedToNonEmptyList() { assertEquals( new Integer(0), ListOps.foldLeft( Arrays.asList(2, 5), 5, (x, y) -> x / y ) ); }