@Test(dataProvider = "assemblyResults")
 public void testAddManyHaplotypes(
     final java.util.List<AssemblyResult> assemblyResults,
     final java.util.List<java.util.List<Haplotype>> haplotypes) {
   final AssemblyResultSet subject = new AssemblyResultSet();
   for (int i = 0; i < haplotypes.size(); i++) {
     final int haplotypeCountBefore = subject.getHaplotypeCount();
     final java.util.List<Haplotype> haplos = haplotypes.get(i);
     final AssemblyResult ar = assemblyResults.get(i);
     for (final Haplotype h : haplos) {
       Assert.assertTrue(subject.add(h, ar));
       Assert.assertFalse(subject.add(h, ar));
       if (h.isReference()) Assert.assertEquals(subject.getReferenceHaplotype(), h);
     }
     final int haplotypeCountAfter = subject.getHaplotypeCount();
     Assert.assertEquals(haplos.size(), haplotypeCountAfter - haplotypeCountBefore);
     Assert.assertTrue(subject.getMaximumKmerSize() >= ar.getKmerSize());
     Assert.assertTrue(subject.getMinimumKmerSize() <= ar.getKmerSize());
     Assert.assertEquals(
         subject.getUniqueReadThreadingGraph(ar.getKmerSize()), ar.getThreadingGraph());
   }
 }
  @Test
  public void testEmptyResultSet() {
    final AssemblyResultSet subject = new AssemblyResultSet();

    Assert.assertEquals(subject.getHaplotypeList().size(), 0);
    Assert.assertEquals(subject.getHaplotypeCount(), 0);
    Assert.assertEquals(subject.getReferenceHaplotype(), null);
    Assert.assertEquals(subject.getFullReferenceWithPadding(), null);
    Assert.assertEquals(subject.getPaddedReferenceLoc(), null);
    Assert.assertEquals(subject.getRegionForGenotyping(), null);
    Assert.assertEquals(subject.getUniqueReadThreadingGraph(10), null);
    Assert.assertFalse(subject.hasMultipleKmerSizes());
  }
  @Test
  public void testAddReferenceHaplotype() {

    final Haplotype ref = new Haplotype("ACGT".getBytes(), true);
    ref.setGenomeLocation(genomeLocParser.createGenomeLoc("1", 1, ref.length() + 1));
    final AssemblyResultSet subject = new AssemblyResultSet();

    Assert.assertTrue(subject.add(ref));
    Assert.assertFalse(subject.add(ref));

    Assert.assertEquals(subject.getReferenceHaplotype(), ref);
    Assert.assertEquals(subject.getHaplotypeCount(), 1);
    Assert.assertEquals(subject.getHaplotypeList().size(), 1);
  }