@Test
public void testFilter() {

  List<String> list = newTestList();
  Collection<String> filtered = filter(list, new Predicate<String>() {
    @Override
    public Boolean apply(String s) {
      return "one".equals(s);
    }
  });
  assertSame(filtered.getClass(), list.getClass());
  assertEquals(2, list.size());
  assertEquals(1, filtered.size());
  assertTrue(filtered.contains("one"));
}