@Test
public void testMap() {

  List<Integer> inputs = new ArrayList<Integer>();
  inputs.add(Integer.valueOf(3));
  inputs.add(Integer.valueOf(42));
  List<Integer> expected = new ArrayList<Integer>();
  expected.add(Integer.valueOf(6));
  expected.add(Integer.valueOf(84));
  // Use a 'times 2' mapper.
  List<Integer> actuals = Lists.map(inputs, new Lists.Func<Integer, Integer>() {
    @Override
    public Integer eval(Integer in) {
      return Integer.valueOf(2 * in.intValue());
    }
  });
  assertTrue(expected.equals(actuals));
}