@Test(dataProvider = "trimmingData") public void testTrimTo( final Map<Haplotype, AssemblyResult> haplotypesAndResultSets, final AssemblyRegion original) { final AssemblyResultSet subject = new AssemblyResultSet(); for (final Map.Entry<Haplotype, AssemblyResult> entry : haplotypesAndResultSets.entrySet()) subject.add(entry.getKey(), entry.getValue()); subject.setRegionForGenotyping(original); final GenomeLoc originalLocation = original.getExtendedSpan(); final int length = originalLocation.size(); final GenomeLoc newLocation = originalLocation.setStop( originalLocation.setStart(originalLocation, originalLocation.getStart() + length / 2), originalLocation.getStop() - length / 2); final AssemblyRegion newRegion = original.trim(newLocation); final Map<Haplotype, Haplotype> originalHaplotypesByTrimmed = new HashMap<>(haplotypesAndResultSets.size()); for (final Haplotype h : haplotypesAndResultSets.keySet()) originalHaplotypesByTrimmed.put(h.trim(newRegion.getExtendedSpan()), h); final AssemblyResultSet trimmed = subject.trimTo(newRegion); Assert.assertFalse(subject.wasTrimmed()); Assert.assertTrue(trimmed.wasTrimmed()); for (final Haplotype h : trimmed.getHaplotypeList()) { Assert.assertEquals(h.getGenomeLocation(), newLocation); Assert.assertEquals(h.getBases().length, newLocation.size()); } }
@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); }