use of org.opennms.core.utils.TimeIntervalSequence in project opennms by OpenNMS.
the class TimeIntervalSequenceTest method testAddOverlappingEarlier.
@Test
public void testAddOverlappingEarlier() throws Exception {
TimeIntervalSequence seq = new TimeIntervalSequence(aug(18, 8, 17));
seq.addInterval(aug(18, 3, 12));
// expect a sequence containing non overlapping segments
assertTimeIntervalSequence(new TimeInterval[] { aug(18, 3, 8), aug(18, 8, 12), aug(18, 12, 17) }, seq);
}
use of org.opennms.core.utils.TimeIntervalSequence in project opennms by OpenNMS.
the class TimeIntervalSequenceTest method testRemoveFirstEntireInterval.
@Test
public void testRemoveFirstEntireInterval() throws Exception {
TimeIntervalSequence seq = new TimeIntervalSequence(aug(18, 8, 17));
seq.addInterval(aug(19, 11, 12));
seq.removeInterval(aug(18, 8, 17));
// expect a sequence containing only two non overlapping segments
assertTimeIntervalSequence(new TimeInterval[] { aug(19, 11, 12) }, seq);
}
use of org.opennms.core.utils.TimeIntervalSequence in project opennms by OpenNMS.
the class TimeIntervalSequenceTest method testRemoveOverlappingStraddle.
@Test
public void testRemoveOverlappingStraddle() throws Exception {
TimeIntervalSequence seq = new TimeIntervalSequence(aug(18, 8, 17));
seq.removeInterval(aug(18, 3, 20));
// expect a sequence containing no remaining intervals
assertTimeIntervalSequence(new TimeInterval[] {}, seq);
}
use of org.opennms.core.utils.TimeIntervalSequence in project opennms by OpenNMS.
the class TimeIntervalSequenceTest method testAddOverlappingLater.
@Test
public void testAddOverlappingLater() throws Exception {
TimeIntervalSequence seq = new TimeIntervalSequence(aug(18, 8, 17));
seq.addInterval(aug(18, 11, 20));
// expect a sequence containing non overlapping segments
assertTimeIntervalSequence(new TimeInterval[] { aug(18, 8, 11), aug(18, 11, 17), aug(18, 17, 20) }, seq);
}
use of org.opennms.core.utils.TimeIntervalSequence in project opennms by OpenNMS.
the class TimeIntervalSequenceTest method testAddOverlappingMany.
@Test
public void testAddOverlappingMany() throws Exception {
// seg with three entryies 8-5 on aug 18, aug 19 and aug 20
TimeIntervalSequence seq = new TimeIntervalSequence(aug(18, 8, 17));
seq.addInterval(aug(19, 8, 17));
seq.addInterval(aug(20, 8, 17));
// now add interval from aug 18 0 to aug 20 24)
seq.addInterval(aug(18, 0, 20, 24));
// expect a sequence containing non overlapping segments
TimeInterval[] expected = { aug(18, 0, 8), aug(18, 8, 17), aug(18, 17, 19, 8), aug(19, 8, 17), aug(19, 17, 20, 8), aug(20, 8, 17), aug(20, 17, 24) };
assertTimeIntervalSequence(expected, seq);
}
Aggregations