670202a9765f1047ddc75dd0b0f614e620147351
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.core.tests / src / org / eclipse / tracecompass / tmf / core / tests / filter / TmfFilterCompareNodeTest.java
1 /*******************************************************************************
2 * Copyright (c) 2015 Ericsson
3 *
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
8 *
9 * Contributors:
10 * Patrick Tasse - Initial API and implementation
11 *******************************************************************************/
12
13 package org.eclipse.tracecompass.tmf.core.tests.filter;
14
15 import static org.junit.Assert.assertArrayEquals;
16 import static org.junit.Assert.assertEquals;
17 import static org.junit.Assert.assertFalse;
18 import static org.junit.Assert.assertTrue;
19
20 import org.eclipse.tracecompass.tmf.core.event.ITmfEventField;
21 import org.eclipse.tracecompass.tmf.core.event.TmfEvent;
22 import org.eclipse.tracecompass.tmf.core.event.TmfEventField;
23 import org.eclipse.tracecompass.tmf.core.event.aspect.ITmfEventAspect;
24 import org.eclipse.tracecompass.tmf.core.event.aspect.TmfContentFieldAspect;
25 import org.eclipse.tracecompass.tmf.core.filter.model.TmfFilterCompareNode;
26 import org.eclipse.tracecompass.tmf.core.filter.model.TmfFilterCompareNode.Type;
27 import org.eclipse.tracecompass.tmf.core.timestamp.TmfNanoTimestamp;
28 import org.junit.Before;
29 import org.junit.Test;
30
31 /**
32 * Test suite for the {@link TmfFilterCompareNode} class.
33 *
34 * @author Patrick Tasse
35 */
36 @SuppressWarnings("javadoc")
37 public class TmfFilterCompareNodeTest extends TmfFilterTreeNodeTestBase {
38
39 // ------------------------------------------------------------------------
40 // Variables
41 // ------------------------------------------------------------------------
42
43 private ITmfEventField[] fFields1 = new ITmfEventField[] { new TmfEventField(FIELD, "1", null) };
44 private ITmfEventField[] fFields2 = new ITmfEventField[] { new TmfEventField(FIELD, "5", null) };
45 private ITmfEventField[] fFields3 = new ITmfEventField[] { new TmfEventField(FIELD, "11", null) };
46 private ITmfEventField fContent1 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, null, fFields1);
47 private ITmfEventField fContent2 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, null, fFields2);
48 private ITmfEventField fContent3 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, null, fFields3);
49 private TmfEvent fEvent1 = new TmfEvent(TRACE, 0, new TmfNanoTimestamp(1), EVENT_TYPE, fContent1);
50 private TmfEvent fEvent2 = new TmfEvent(TRACE, 1, new TmfNanoTimestamp(2), EVENT_TYPE, fContent2);
51 private TmfEvent fEvent3 = new TmfEvent(TRACE, 2, new TmfNanoTimestamp(3), EVENT_TYPE, fContent3);
52 private TmfFilterCompareNode fFilter;
53
54 // ------------------------------------------------------------------------
55 // Tests
56 // ------------------------------------------------------------------------
57
58 @Before
59 public void createFilter() {
60 fFilter = new TmfFilterCompareNode(null);
61 fFilterNode = fFilter;
62 }
63
64 @Test
65 public void testMatchesNum() {
66 fFilter.setEventAspect(new TmfContentFieldAspect(FIELD, FIELD));
67 fFilter.setType(Type.NUM);
68 fFilter.setValue("5");
69
70 fFilter.setResult(-1);
71 assertTrue(fFilter.matches(fEvent1));
72 assertFalse(fFilter.matches(fEvent2));
73 assertFalse(fFilter.matches(fEvent3));
74
75 fFilter.setResult(0);
76 assertFalse(fFilter.matches(fEvent1));
77 assertTrue(fFilter.matches(fEvent2));
78 assertFalse(fFilter.matches(fEvent3));
79
80 fFilter.setResult(1);
81 assertFalse(fFilter.matches(fEvent1));
82 assertFalse(fFilter.matches(fEvent2));
83 assertTrue(fFilter.matches(fEvent3));
84
85 fFilter.setNot(true);
86 assertTrue(fFilter.matches(fEvent1));
87 assertTrue(fFilter.matches(fEvent2));
88 assertFalse(fFilter.matches(fEvent3));
89 }
90
91 @Test
92 public void testMatchesAlpha() {
93 fFilter.setEventAspect(new TmfContentFieldAspect(FIELD, FIELD));
94 fFilter.setType(Type.ALPHA);
95 fFilter.setValue("5");
96
97 fFilter.setResult(-1);
98 assertTrue(fFilter.matches(fEvent1));
99 assertFalse(fFilter.matches(fEvent2));
100 assertTrue(fFilter.matches(fEvent3));
101
102 fFilter.setResult(0);
103 assertFalse(fFilter.matches(fEvent1));
104 assertTrue(fFilter.matches(fEvent2));
105 assertFalse(fFilter.matches(fEvent3));
106
107 fFilter.setResult(1);
108 assertFalse(fFilter.matches(fEvent1));
109 assertFalse(fFilter.matches(fEvent2));
110 assertFalse(fFilter.matches(fEvent3));
111
112 fFilter.setNot(true);
113 assertTrue(fFilter.matches(fEvent1));
114 assertTrue(fFilter.matches(fEvent2));
115 assertTrue(fFilter.matches(fEvent3));
116 }
117
118 @Test
119 public void testMatchesTimestamp() {
120 fFilter.setEventAspect(ITmfEventAspect.BaseAspects.TIMESTAMP);
121 fFilter.setType(Type.TIMESTAMP);
122 fFilter.setValue("0.000000002");
123
124 fFilter.setResult(-1);
125 assertTrue(fFilter.matches(fEvent1));
126 assertFalse(fFilter.matches(fEvent2));
127 assertFalse(fFilter.matches(fEvent3));
128
129 fFilter.setResult(0);
130 assertFalse(fFilter.matches(fEvent1));
131 assertTrue(fFilter.matches(fEvent2));
132 assertFalse(fFilter.matches(fEvent3));
133
134 fFilter.setResult(1);
135 assertFalse(fFilter.matches(fEvent1));
136 assertFalse(fFilter.matches(fEvent2));
137 assertTrue(fFilter.matches(fEvent3));
138
139 fFilter.setNot(true);
140 assertTrue(fFilter.matches(fEvent1));
141 assertTrue(fFilter.matches(fEvent2));
142 assertFalse(fFilter.matches(fEvent3));
143 }
144
145 @Test
146 public void testGetName() {
147 assertEquals("getName()", "COMPARE", fFilter.getNodeName());
148 }
149
150 @Test
151 public void testGetValidChildren() {
152 assertArrayEquals("getValidChildren()", new String[] {}, fFilter.getValidChildren().toArray());
153 }
154 }
This page took 0.062181 seconds and 4 git commands to generate.