import org.junit.Test; import java.util.Arrays; import java.util.List; import static org.junit.Assert.*; public class MergeIntervalsTest { private List<Tuple> expected; private List<Tuple> disjoint; private Tuple newInterval; @Test public void addInterval1() throws Exception { expected = Arrays.asList( new Tuple(-4,-1), new Tuple(0,9), new Tuple(11,12), new Tuple(14,17) ); disjoint = Arrays.asList( new Tuple(-4,-1), new Tuple(0,2), new Tuple(3,6), new Tuple(7,9), new Tuple(11,12), new Tuple(14,17) ); newInterval = new Tuple(1,8); test(expected, disjoint, newInterval); } @Test public void addInterval2() throws Exception { expected = Arrays.asList( new Tuple(-6,-1), new Tuple(0,2), new Tuple(3,6), new Tuple(7,9), new Tuple(11,12), new Tuple(14,17) ); disjoint = Arrays.asList( new Tuple(-4,-1), new Tuple(0,2), new Tuple(3,6), new Tuple(7,9), new Tuple(11,12), new Tuple(14,17) ); newInterval = new Tuple(-6,-1); test(expected, disjoint, newInterval); } @Test public void addInterval3() throws Exception { expected = Arrays.asList( new Tuple(-4,-1), new Tuple(0,2), new Tuple(3,6), new Tuple(7,10), new Tuple(11,12), new Tuple(14,17) ); disjoint = Arrays.asList( new Tuple(-4,-1), new Tuple(0,2), new Tuple(3,6), new Tuple(7,9), new Tuple(11,12), new Tuple(14,17) ); newInterval = new Tuple(8,10); test(expected, disjoint, newInterval); } private void test(List<Tuple> expected, List<Tuple> disjoint, Tuple newInterval) { assertEquals(expected, MergeIntervals.addInterval(disjoint, newInterval)); } }