package edu.ualberta.med.biobank.test.util; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.LinkedList; import org.junit.Test; import edu.ualberta.med.biobank.common.util.Predicate; import edu.ualberta.med.biobank.common.util.PredicateUtil; public class PredicateUtilTest { @SuppressWarnings("unchecked") @Test public void test() { Predicate<Integer> le3 = new Predicate<Integer>() { @Override public boolean evaluate(Integer i) { return i <= 3; } }; Predicate<Integer> ge3 = new Predicate<Integer>() { @Override public boolean evaluate(Integer i) { return i >= 3; } }; Collection<Integer> all, filtered; all = new ArrayList<Integer>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8)); filtered = new LinkedList<Integer>(); PredicateUtil.filterInto(all, le3, filtered); Arrays.equals(all.toArray(), Arrays.asList(1, 2, 3).toArray()); filtered = PredicateUtil.filter(all, PredicateUtil.andPredicate(le3, ge3)); Arrays.equals(all.toArray(), Arrays.asList(3).toArray()); PredicateUtil.filterOut(all, PredicateUtil.notPredicate(le3)); Arrays.equals(all.toArray(), Arrays.asList(4, 5, 6, 7, 8).toArray()); } }