use of org.eclipse.tracecompass.tmf.core.filter.model.ITmfFilterTreeNode in project tracecompass by tracecompass.
the class TmfFilterHelperTest method testInputRegexMatches.
/**
* Test a regex with matches
*/
@Test
public void testInputRegexMatches() {
ITmfEventAspect<@NonNull Object> contentAspect = TmfBaseAspects.getContentsAspect().forField(FIELD1_NAME);
String regex = FIELD1_NAME + " matches .*other.*";
ITmfFilter filter = getFilter(regex);
// verify the main root node
assertTrue(filter instanceof TmfFilterRootNode);
TmfFilterRootNode node = (TmfFilterRootNode) filter;
assertEquals(1, node.getChildrenCount());
ITmfFilterTreeNode child = node.getChild(0);
assertTrue(child instanceof TmfFilterMatchesNode);
// verify the equals node
TmfFilterMatchesNode equalsNode = (TmfFilterMatchesNode) child;
assertEquals(contentAspect, equalsNode.getEventAspect());
assertEquals(".*other.*", equalsNode.getRegex());
// Test expected behavior on events
assertFalse(filter.matches(fEvent1));
assertFalse(filter.matches(fEvent2));
assertTrue(filter.matches(fEvent3));
}
use of org.eclipse.tracecompass.tmf.core.filter.model.ITmfFilterTreeNode in project tracecompass by tracecompass.
the class TmfFilterHelperTest method testInputRegexMatchesNot.
/**
* Test a regex with a not matches
*/
@Test
public void testInputRegexMatchesNot() {
ITmfEventAspect<@NonNull Object> contentAspect = TmfBaseAspects.getContentsAspect().forField(FIELD1_NAME);
String regex = "!(" + FIELD1_NAME + " matches .*other.*)";
ITmfFilter filter = getFilter(regex);
// verify the main root node
assertTrue(filter instanceof TmfFilterRootNode);
TmfFilterRootNode node = (TmfFilterRootNode) filter;
assertEquals(1, node.getChildrenCount());
ITmfFilterTreeNode child = node.getChild(0);
assertTrue(child instanceof TmfFilterMatchesNode);
// verify the equals node
TmfFilterMatchesNode equalsNode = (TmfFilterMatchesNode) child;
assertEquals(contentAspect, equalsNode.getEventAspect());
assertEquals(".*other.*", equalsNode.getRegex());
// Test expected behavior on events
assertTrue(filter.matches(fEvent1));
assertTrue(filter.matches(fEvent2));
assertFalse(filter.matches(fEvent3));
}
use of org.eclipse.tracecompass.tmf.core.filter.model.ITmfFilterTreeNode in project tracecompass by tracecompass.
the class TmfFilterHelperTest method testInputRegexCompare.
/**
* Test a regex whose parameter is not an aspect name
*/
@Test
public void testInputRegexCompare() {
ITmfEventAspect<@NonNull Object> contentAspect = TmfBaseAspects.getContentsAspect().forField(FIELD2_NAME);
/* Test the greater than operator */
String regex = FIELD2_NAME + " > " + FIELD2_VALUE1;
ITmfFilter filter = getFilter(regex);
assertTrue(filter instanceof TmfFilterRootNode);
TmfFilterRootNode node = (TmfFilterRootNode) filter;
assertEquals(1, node.getChildrenCount());
ITmfFilterTreeNode child = node.getChild(0);
assertTrue(child instanceof TmfFilterCompareNode);
TmfFilterCompareNode equalsNode = (TmfFilterCompareNode) child;
assertEquals(contentAspect, equalsNode.getEventAspect());
assertEquals(FIELD2_VALUE1, equalsNode.getValue());
assertEquals(1, equalsNode.getResult());
// Test expected behavior on events
assertFalse(filter.matches(fEvent1));
assertFalse(filter.matches(fEvent2));
assertTrue(filter.matches(fEvent3));
/* Test the less than operator */
regex = FIELD2_NAME + " < " + FIELD2_VALUE2;
filter = getFilter(regex);
assertTrue(filter instanceof TmfFilterRootNode);
node = (TmfFilterRootNode) filter;
assertEquals(1, node.getChildrenCount());
child = node.getChild(0);
assertTrue(child instanceof TmfFilterCompareNode);
equalsNode = (TmfFilterCompareNode) child;
assertEquals(contentAspect, equalsNode.getEventAspect());
assertEquals(FIELD2_VALUE2, equalsNode.getValue());
assertEquals(-1, equalsNode.getResult());
// Test expected behavior on events
assertFalse(filter.matches(fEvent1));
assertTrue(filter.matches(fEvent2));
assertFalse(filter.matches(fEvent3));
}
use of org.eclipse.tracecompass.tmf.core.filter.model.ITmfFilterTreeNode in project tracecompass by tracecompass.
the class TmfFilterHelperTest method testInputRegexNoField.
/**
* Test a regex with no parameter
*/
@Test
public void testInputRegexNoField() {
String regex = "afield";
ITmfFilter filter = getFilter(regex);
assertTrue(filter instanceof TmfFilterRootNode);
TmfFilterRootNode node = (TmfFilterRootNode) filter;
assertEquals(1, node.getChildrenCount());
ITmfFilterTreeNode child = node.getChild(0);
assertTrue(child instanceof TmfFilterOrNode);
// Verify the orNode
TmfFilterOrNode orNode = (TmfFilterOrNode) child;
ITmfTrace trace = STUB_TRACE;
assertNotNull(trace);
Iterable<@NonNull ITmfEventAspect<?>> eventAspects = trace.getEventAspects();
// Verify that each child is a matches node and there's one per aspect
assertEquals(Iterables.size(eventAspects), orNode.getChildrenCount());
for (int i = 0; i < orNode.getChildrenCount(); i++) {
assertTrue(orNode.getChild(i) instanceof TmfFilterMatchesNode);
}
for (ITmfEventAspect<?> aspect : eventAspects) {
// Find a contains condition for each aspect
ITmfFilterTreeNode[] children = orNode.getChildren();
TmfFilterMatchesNode found = null;
for (int i = 0; i < children.length; i++) {
TmfFilterMatchesNode childFilter = (TmfFilterMatchesNode) children[i];
if (aspect.equals(childFilter.getEventAspect())) {
found = childFilter;
break;
}
}
assertNotNull("found aspect " + aspect.getName(), found);
assertEquals(regex, found.getRegex());
}
// Test expected behavior on events
assertTrue(filter.matches(fEvent1));
assertFalse(filter.matches(fEvent2));
assertTrue(filter.matches(fEvent3));
}
use of org.eclipse.tracecompass.tmf.core.filter.model.ITmfFilterTreeNode in project tracecompass by tracecompass.
the class TmfFilterHelperTest method testInputRegexContains.
/**
* Test a regex with contains
*/
@Test
public void testInputRegexContains() {
ITmfEventAspect<@NonNull String> eventTypeAspect = TmfBaseAspects.getEventTypeAspect();
String regex = "\"" + eventTypeAspect.getName() + "\" contains 1";
ITmfFilter filter = getFilter(regex);
// verify the main root node
assertTrue(filter instanceof TmfFilterRootNode);
TmfFilterRootNode node = (TmfFilterRootNode) filter;
assertEquals(1, node.getChildrenCount());
ITmfFilterTreeNode child = node.getChild(0);
assertTrue(child instanceof TmfFilterContainsNode);
// verify the equals node
TmfFilterContainsNode equalsNode = (TmfFilterContainsNode) child;
assertEquals(eventTypeAspect, equalsNode.getEventAspect());
assertEquals("1", equalsNode.getValue());
// Test expected behavior on events
assertTrue(filter.matches(fEvent1));
assertFalse(filter.matches(fEvent2));
assertFalse(filter.matches(fEvent3));
}
Aggregations