use of org.eclipse.tracecompass.tmf.core.event.ITmfEvent in project tracecompass by tracecompass.
the class TmfExperimentTest method testSeekLocationNotOnCacheBoundary.
@Test
public void testSeekLocationNotOnCacheBoundary() {
long cacheSize = fExperiment.getCacheSize();
// Position trace at event 'cacheSize' - 1
ITmfContext tmpContext = fExperiment.seekEvent(cacheSize - 1);
ITmfContext context = fExperiment.seekEvent(tmpContext.getLocation());
ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", cacheSize, event.getTimestamp().getValue());
event = fExperiment.getNext(context);
assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
// Position trace at event rank 2 * 'cacheSize' - 1
tmpContext = fExperiment.seekEvent(2 * cacheSize - 1);
context = fExperiment.seekEvent(tmpContext.getLocation());
context = fExperiment.seekEvent(2 * cacheSize - 1);
event = fExperiment.getNext(context);
assertEquals("Event timestamp", 2 * cacheSize, event.getTimestamp().getValue());
event = fExperiment.getNext(context);
assertEquals("Event timestamp", 2 * cacheSize + 1, event.getTimestamp().getValue());
// Position trace at event rank 4500
tmpContext = fExperiment.seekEvent(4500);
context = fExperiment.seekEvent(tmpContext.getLocation());
event = fExperiment.getNext(context);
assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
event = fExperiment.getNext(context);
assertEquals("Event timestamp", 4502, event.getTimestamp().getValue());
}
use of org.eclipse.tracecompass.tmf.core.event.ITmfEvent in project tracecompass by tracecompass.
the class TmfExperimentTest method testGetNextAfteSeekingOnTS_3.
@Test
public void testGetNextAfteSeekingOnTS_3() {
final long INITIAL_TS = 500;
final int NB_READS = 20;
// On lower bound, returns the first event (ts = 500)
final ITmfContext context = fExperiment.seekEvent(TmfTimestamp.create(INITIAL_TS, SCALE));
validateContextRanks(context);
// Read NB_EVENTS
ITmfEvent event;
for (int i = 0; i < NB_READS; i++) {
event = fExperiment.getNext(context);
assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
assertEquals("Event rank", INITIAL_TS + i, context.getRank());
}
// Make sure we stay positioned
event = fExperiment.parseEvent(context);
assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
assertEquals("Event rank", INITIAL_TS + NB_READS - 1, context.getRank());
validateContextRanks(context);
}
use of org.eclipse.tracecompass.tmf.core.event.ITmfEvent in project tracecompass by tracecompass.
the class TmfExperimentTest method testSeekLocationOnCacheBoundary.
// ------------------------------------------------------------------------
// seekEvent by location (context rank is undefined)
// ------------------------------------------------------------------------
@Test
public void testSeekLocationOnCacheBoundary() {
long cacheSize = fExperiment.getCacheSize();
// Position trace at event rank 0
ITmfContext tmpContext = fExperiment.seekEvent(0);
ITmfContext context = fExperiment.seekEvent(tmpContext.getLocation());
ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
event = fExperiment.getNext(context);
assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
// Position trace at event rank 'cacheSize'
tmpContext = fExperiment.seekEvent(cacheSize);
context = fExperiment.seekEvent(tmpContext.getLocation());
event = fExperiment.getNext(context);
assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
event = fExperiment.getNext(context);
assertEquals("Event timestamp", cacheSize + 2, event.getTimestamp().getValue());
// Position trace at event rank 4 * 'cacheSize'
tmpContext = fExperiment.seekEvent(4 * cacheSize);
context = fExperiment.seekEvent(tmpContext.getLocation());
event = fExperiment.getNext(context);
assertEquals("Event timestamp", 4 * cacheSize + 1, event.getTimestamp().getValue());
event = fExperiment.getNext(context);
assertEquals("Event timestamp", 4 * cacheSize + 2, event.getTimestamp().getValue());
}
use of org.eclipse.tracecompass.tmf.core.event.ITmfEvent in project tracecompass by tracecompass.
the class TmfExperimentTest method testSeekRankOutOfScope.
@Test
public void testSeekRankOutOfScope() {
// Position trace at beginning
ITmfContext context = fExperiment.seekEvent(-1);
assertEquals("Event rank", 0, context.getRank());
ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
assertEquals("Context rank", 1, context.getRank());
// Position trace at event passed the end
context = fExperiment.seekEvent(NB_EVENTS);
assertEquals("Context rank", NB_EVENTS, context.getRank());
event = fExperiment.getNext(context);
assertNull("Event", event);
assertEquals("Context rank", NB_EVENTS, context.getRank());
}
use of org.eclipse.tracecompass.tmf.core.event.ITmfEvent in project tracecompass by tracecompass.
the class TmfExperimentTest method testGetNextAfterSeekingOnLocation_2.
@Test
public void testGetNextAfterSeekingOnLocation_2() {
final ITmfLocation INITIAL_LOC = fExperiment.seekEvent(1L).getLocation();
final long INITIAL_TS = 2;
final int NB_READS = 20;
// On lower bound, returns the first event (ts = 2)
final ITmfContext context = fExperiment.seekEvent(INITIAL_LOC);
validateContextRanks(context);
// Read NB_EVENTS
ITmfEvent event;
for (int i = 0; i < NB_READS; i++) {
event = fExperiment.getNext(context);
assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
}
// Make sure we stay positioned
event = fExperiment.parseEvent(context);
assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
validateContextRanks(context);
}
Aggregations