use of org.opennms.core.utils.TimeIntervalSequence in project opennms by OpenNMS.
the class TimeIntervalSequenceTest method testBound.
@Test
public void testBound() throws Exception {
TimeIntervalSequence seq = new TimeIntervalSequence(aug(18, 8, 17));
seq.addInterval(aug(19, 8, 17));
seq.addInterval(aug(20, 8, 17));
seq.addInterval(aug(21, 8, 17));
seq.addInterval(aug(22, 8, 17));
// bound the sequence to the interval aug19 noon to aug 21 noon
seq.bound(aug(19, 12, 21, 12));
// expect a sequence containing non overlapping segments
TimeInterval[] expected = { aug(19, 12, 17), aug(20, 8, 17), aug(21, 8, 12) };
assertTimeIntervalSequence(expected, seq);
}
use of org.opennms.core.utils.TimeIntervalSequence in project opennms by OpenNMS.
the class TimeIntervalSequenceTest method testRemoveOverlappingDegeneratePrefix.
@Test
public void testRemoveOverlappingDegeneratePrefix() throws Exception {
TimeIntervalSequence seq = new TimeIntervalSequence(aug(18, 8, 17));
seq.removeInterval(aug(18, 8, 12));
// expect a sequence containing only the suffix
assertTimeIntervalSequence(new TimeInterval[] { aug(18, 12, 17) }, seq);
}
use of org.opennms.core.utils.TimeIntervalSequence in project opennms by OpenNMS.
the class TimeIntervalSequenceTest method testAddNonOverlappingEarlier.
@Test
public void testAddNonOverlappingEarlier() throws Exception {
TimeIntervalSequence seq = new TimeIntervalSequence(aug(18));
seq.addInterval(aug(17, 11, 12));
// expect a sequence containing the added followed by the original
assertTimeIntervalSequence(new TimeInterval[] { aug(17, 11, 12), aug(18) }, seq);
}
use of org.opennms.core.utils.TimeIntervalSequence in project opennms by OpenNMS.
the class TimeIntervalSequenceTest method testRemoveOverlappingDegenerateSuffix.
@Test
public void testRemoveOverlappingDegenerateSuffix() throws Exception {
TimeIntervalSequence seq = new TimeIntervalSequence(aug(18, 8, 17));
seq.removeInterval(aug(18, 12, 17));
// expect a sequence containing only the prefix
assertTimeIntervalSequence(new TimeInterval[] { aug(18, 8, 12) }, seq);
}
use of org.opennms.core.utils.TimeIntervalSequence in project opennms by OpenNMS.
the class TimeIntervalSequenceTest method testRemoveCenteredOverlappingInterval.
@Test
public void testRemoveCenteredOverlappingInterval() throws Exception {
TimeIntervalSequence seq = new TimeIntervalSequence(aug(18, 8, 17));
seq.removeInterval(aug(18, 11, 12));
// expect a sequence containing only two surrounding segments
assertTimeIntervalSequence(new TimeInterval[] { aug(18, 8, 11), aug(18, 12, 17) }, seq);
}
Aggregations