@Test
void multiSampleMultiVariantMultiType() {

    ImmutableMap<String, SampleGenotype> missenseOneSampleGenotypes = ImmutableMap.of(
            "Arthur", SampleGenotype.het(),
            "Zaphod", SampleGenotype.homRef(),
            "Trillian", SampleGenotype.homAlt()
    );
    VariantEvaluation missenseOne = VariantEvaluation.builder(1, 12345, "A", "T")
            .variantEffect(VariantEffect.MISSENSE_VARIANT)
            .sampleGenotypes(missenseOneSampleGenotypes)
            .build();
    ImmutableMap<String, SampleGenotype> stopGainedSampleGenotypes = ImmutableMap.of(
            "Arthur", SampleGenotype.het(),
            "Zaphod", SampleGenotype.het(),
            "Trillian", SampleGenotype.homRef()
    );
    VariantEvaluation stopGained = VariantEvaluation.builder(2, 54321, "C", "G")
            .variantEffect(VariantEffect.STOP_GAINED)
            .sampleGenotypes(stopGainedSampleGenotypes)
            .build();
    VariantEffectCounter instance = new VariantEffectCounter(missenseOneSampleGenotypes.keySet()
            .asList(), ImmutableList.of(missenseOne, stopGained));
    List<VariantEffectCount> result = instance.getVariantEffectCounts(EnumSet.of(VariantEffect.MISSENSE_VARIANT, VariantEffect.STOP_GAINED));
    System.out.println(result);
    ImmutableList<VariantEffectCount> expected = ImmutableList.of(
            new VariantEffectCount(VariantEffect.STOP_GAINED, ImmutableList.of(1, 1, 0)),
            new VariantEffectCount(VariantEffect.MISSENSE_VARIANT, ImmutableList.of(1, 0, 1))
    );
    assertThat(result, equalTo(expected));
}