@Test
public void testRunReturnsVariantsPassingQualityAndVariantEffectFilters() {

    //The order of these filters is important
    List<VariantFilter> filters = new ArrayList<>();
    filters.add(qualityFilter);
    filters.add(variantEffectFilter);
    filters.forEach(filter -> instance.run(filter, variantEvaluations));
    assertThat(passesAllFilters.passedFilters(), is(true));
    assertThat(passesAllFilters.getPassedFilterTypes(),
            equalTo(EnumSet.of(FilterType.VARIANT_EFFECT_FILTER,
                    FilterType.QUALITY_FILTER)));
    //filters not run should return false
    assertThat(passesAllFilters.passedFilter(FilterType.ENTREZ_GENE_ID_FILTER), is(false));
    assertThat(passesQualityFrequencyFilter.passedFilters(), is(false));
    assertThat(passesQualityFrequencyFilter.getPassedFilterTypes(),
            equalTo(EnumSet.of(FilterType.QUALITY_FILTER)));
    assertThat(passesTargetQualityFilter.passedFilters(), is(true));
    assertThat(passesTargetQualityFilter.getPassedFilterTypes(),
            equalTo(EnumSet.of(FilterType.VARIANT_EFFECT_FILTER,
                    FilterType.QUALITY_FILTER)));
    assertThat(failsAllFilters.passedFilters(), is(false));
    assertThat(failsAllFilters.getPassedFilterTypes().isEmpty(), is(true));
}