Search in sources :

Example 6 with TimeIntervalSequence

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);
}
Also used : TimeIntervalSequence(org.opennms.core.utils.TimeIntervalSequence) TimeInterval(org.opennms.core.utils.TimeInterval) Test(org.junit.Test)

Example 7 with TimeIntervalSequence

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);
}
Also used : TimeIntervalSequence(org.opennms.core.utils.TimeIntervalSequence) Test(org.junit.Test)

Example 8 with TimeIntervalSequence

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);
}
Also used : TimeIntervalSequence(org.opennms.core.utils.TimeIntervalSequence) Test(org.junit.Test)

Example 9 with TimeIntervalSequence

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);
}
Also used : TimeIntervalSequence(org.opennms.core.utils.TimeIntervalSequence) Test(org.junit.Test)

Example 10 with TimeIntervalSequence

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);
}
Also used : TimeIntervalSequence(org.opennms.core.utils.TimeIntervalSequence) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)26 TimeIntervalSequence (org.opennms.core.utils.TimeIntervalSequence)26 TimeInterval (org.opennms.core.utils.TimeInterval)3