Search in sources :

Example 1 with TimeIntervalSequence

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

Example 2 with TimeIntervalSequence

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

Example 3 with TimeIntervalSequence

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

Example 4 with TimeIntervalSequence

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

Example 5 with TimeIntervalSequence

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

Aggregations

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