use of org.eclipse.tracecompass.internal.tmf.core.annotations.PeriodicAnnotationProvider in project tracecompass by tracecompass.
the class PeriodicAnnotationProviderTest method testCategories.
/**
* Test fetching the annotation categories
*/
@Test
public void testCategories() {
IOutputAnnotationProvider provider = new PeriodicAnnotationProvider(CATEGORY, ITimeReference.ZERO, 100L, 0, COLOR, null);
TmfModelResponse<@NonNull AnnotationCategoriesModel> response = provider.fetchAnnotationCategories(Collections.emptyMap(), new NullProgressMonitor());
assertEquals(Status.COMPLETED, response.getStatus());
AnnotationCategoriesModel model = response.getModel();
assertNotNull(model);
assertEquals(Arrays.asList(CATEGORY), model.getAnnotationCategories());
}
use of org.eclipse.tracecompass.internal.tmf.core.annotations.PeriodicAnnotationProvider in project tracecompass by tracecompass.
the class PeriodicAnnotationProviderTest method testNextPreviousIncluded.
/**
* Test that previous and next annotations are always included.
*/
@Test
public void testNextPreviousIncluded() {
IOutputAnnotationProvider provider = new PeriodicAnnotationProvider(CATEGORY, ITimeReference.ZERO, 100L, 0, COLOR, null);
Map<String, List<Annotation>> expected = ImmutableMap.of(CATEGORY, Arrays.asList(new Annotation(-100L, 0L, -1, "-1", COLOR_STYLE), new Annotation(0L, 0L, -1, "0", COLOR_STYLE), new Annotation(100L, 0L, -1, "1", COLOR_STYLE), new Annotation(200L, 0L, -1, "2", COLOR_STYLE), new Annotation(300L, 0L, -1, "3", COLOR_STYLE), new Annotation(400L, 0L, -1, "4", COLOR_STYLE)));
Map<String, Object> fetchParameters = ImmutableMap.of(DataProviderParameterUtils.REQUESTED_TIME_KEY, StateSystemUtils.getTimes(0L, 300L, 1));
assertAnnotationModelResponse(expected, provider.fetchAnnotations(fetchParameters, new NullProgressMonitor()));
}
use of org.eclipse.tracecompass.internal.tmf.core.annotations.PeriodicAnnotationProvider in project tracecompass by tracecompass.
the class PeriodicAnnotationProviderTest method testAlternateShadingAnnotationSource.
/**
* Test a periodic annotation provider with alternate shading at every period.
*/
@Test
public void testAlternateShadingAnnotationSource() {
IOutputAnnotationProvider provider = new PeriodicAnnotationProvider(CATEGORY, ITimeReference.ZERO, 100L, 0, EVEN_COLOR, ODD_COLOR);
Map<String, List<Annotation>> expected = ImmutableMap.of(CATEGORY, Arrays.asList(new Annotation(-100L, 100L, -1, "-1", ODD_COLOR_STYLE), new Annotation(0L, 100L, -1, "0", EVEN_COLOR_STYLE), new Annotation(100L, 100L, -1, "1", ODD_COLOR_STYLE), new Annotation(200L, 100L, -1, "2", EVEN_COLOR_STYLE), new Annotation(300L, 100L, -1, "3", ODD_COLOR_STYLE)));
Map<String, Object> fetchParameters = ImmutableMap.of(DataProviderParameterUtils.REQUESTED_TIME_KEY, StateSystemUtils.getTimes(50L, 250L, 1));
assertAnnotationModelResponse(expected, provider.fetchAnnotations(fetchParameters, new NullProgressMonitor()));
}
use of org.eclipse.tracecompass.internal.tmf.core.annotations.PeriodicAnnotationProvider in project tracecompass by tracecompass.
the class PeriodicAnnotationProviderTest method testIsApplicable.
/**
* Test a periodic annotation provider with a filtering implementation.
*/
@Test
public void testIsApplicable() {
IOutputAnnotationProvider provider = new PeriodicAnnotationProvider(CATEGORY, ITimeReference.ZERO, 100L, 0, COLOR, null) {
@Override
public boolean isApplicable(long index) {
return (index % 2 == 0);
}
};
Map<String, List<Annotation>> expected = ImmutableMap.of(CATEGORY, Arrays.asList(new Annotation(0L, 0L, -1, "0", COLOR_STYLE), new Annotation(200L, 0L, -1, "2", COLOR_STYLE), new Annotation(400L, 0L, -1, "4", COLOR_STYLE), new Annotation(600L, 0L, -1, "6", COLOR_STYLE), new Annotation(800L, 0L, -1, "8", COLOR_STYLE), new Annotation(1000L, 0L, -1, "10", COLOR_STYLE)));
Map<String, Object> fetchParameters = ImmutableMap.of(DataProviderParameterUtils.REQUESTED_TIME_KEY, StateSystemUtils.getTimes(0L, 1000L, 1));
assertAnnotationModelResponse(expected, provider.fetchAnnotations(fetchParameters, new NullProgressMonitor()));
}
use of org.eclipse.tracecompass.internal.tmf.core.annotations.PeriodicAnnotationProvider in project tracecompass by tracecompass.
the class PeriodicAnnotationProviderTest method testFractionalPeriod.
/**
* Test a periodic annotation provider with a fractional period.
*/
@Test
public void testFractionalPeriod() {
IOutputAnnotationProvider provider = new PeriodicAnnotationProvider(CATEGORY, ITimeReference.ZERO, (100.0 / 3), 0, EVEN_COLOR, ODD_COLOR);
Map<String, List<Annotation>> expected = ImmutableMap.of(CATEGORY, Arrays.asList(new Annotation(-33L, 33L, -1, "-1", ODD_COLOR_STYLE), new Annotation(0L, 33L, -1, "0", EVEN_COLOR_STYLE), new Annotation(33L, 34L, -1, "1", ODD_COLOR_STYLE), new Annotation(67L, 33L, -1, "2", EVEN_COLOR_STYLE), new Annotation(100L, 33L, -1, "3", ODD_COLOR_STYLE), new Annotation(133L, 34L, -1, "4", EVEN_COLOR_STYLE)));
Map<String, Object> fetchParameters = ImmutableMap.of(DataProviderParameterUtils.REQUESTED_TIME_KEY, StateSystemUtils.getTimes(0L, 100L, 1));
assertAnnotationModelResponse(expected, provider.fetchAnnotations(fetchParameters, new NullProgressMonitor()));
}
Aggregations