Fixed bug where calling IntervalList.uniqued(false) would fail if the… #815

Merged
merged 1 commit into from Mar 2, 2017
Jump to file or symbol
Failed to load files and symbols.
+15 −5
Split
@@ -356,11 +356,9 @@ static Interval merge(final SortedSet<Interval> intervals, final boolean concate
end = Math.max(end, i.getEnd());
}
- if (concatenateNames) {
- if (names.isEmpty()) name = null;
- else name = StringUtil.join("|", names);
- }
- else { name = names.iterator().next(); }
+ if (names.isEmpty()) name = null;
+ else if (concatenateNames) name = StringUtil.join("|", names);
+ else name = names.iterator().next();
return new Interval(chrom, start, end, neg, name);
}
@@ -517,4 +517,16 @@ public void changeHeader() {
Assert.assertTrue(false);
}
+
+ @Test public void uniqueIntervalsWithoutNames() {
+ final IntervalList test = new IntervalList(this.fileHeader);
+ test.add(new Interval("1", 100, 200));
+ test.add(new Interval("1", 500, 600));
+ test.add(new Interval("1", 550, 700));
+
+ for (final boolean concat : new boolean[]{true, false}) {
+ final IntervalList unique = test.uniqued(concat);
+ Assert.assertEquals(unique.size(), 2);
+ }
+ }
}