public void checkScore(Query query, Predicate<List<Score>> scorePredicate, Function<VariantAnnotation, List<Score>> mapper) {
QueryResult<Variant> result = query(query, null);
Collection<Variant> expected = filterByScore(allVariants, scorePredicate, mapper);
Collection<Variant> filteredResult = filterByScore(result, scorePredicate, mapper);
TreeSet<Variant> actual = new TreeSet<>(Comparator.comparing(Variant::getChromosome).thenComparing(Variant::getStart).thenComparing(Variant::toString));
actual.addAll(result.getResult());
if (expected.size()!=actual.size()) {
System.out.println("expected = " + expected);
System.out.println("actual = " + actual);
}
assertTrue("Expecting a query returning some value.", expected.size() > 0);
assertEquals(expected.size(), result.getNumResults());
assertEquals(expected.size(), actual.size());
assertEquals(expected.size(), filteredResult.size());
}