1 /*******************************************************************************
2 * Copyright (c) 2012 Ericsson
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
10 * Francois Chouinard - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.linuxtools
.tmf
.core
.tests
.request
;
15 import junit
.framework
.TestCase
;
17 import org
.eclipse
.linuxtools
.tmf
.core
.event
.ITmfEvent
;
18 import org
.eclipse
.linuxtools
.tmf
.core
.event
.TmfEvent
;
19 import org
.eclipse
.linuxtools
.tmf
.core
.event
.TmfTimeRange
;
20 import org
.eclipse
.linuxtools
.tmf
.core
.event
.TmfTimestamp
;
21 import org
.eclipse
.linuxtools
.tmf
.core
.request
.TmfRangeFilter
;
22 import org
.junit
.Test
;
25 * <b><u>TmfRangeFilterTest</u></b>
27 * Test suite for the TmfRangeFilter class.
29 @SuppressWarnings({"nls","javadoc"})
30 public class TmfRangeFilterTest
extends TestCase
{
32 // ------------------------------------------------------------------------
34 // ------------------------------------------------------------------------
36 private static final TmfRangeFilter ALL_EVENTS
= TmfRangeFilter
.ALL_EVENTS
;
38 // ------------------------------------------------------------------------
40 // ------------------------------------------------------------------------
43 * @param name the test name
45 public TmfRangeFilterTest(String name
) {
50 protected void setUp() throws Exception
{
55 protected void tearDown() throws Exception
{
59 // ------------------------------------------------------------------------
61 // ------------------------------------------------------------------------
64 public void testTmfRangeFilter() {
65 TmfRangeFilter filter
= ALL_EVENTS
;
66 assertEquals("getTimeRange", TmfTimeRange
.ETERNITY
, filter
.getTimeRange());
68 TmfTimeRange range
= TmfTimeRange
.NULL_RANGE
;
69 filter
= new TmfRangeFilter(range
);
70 assertEquals("getTimeRange", range
, filter
.getTimeRange());
72 range
= new TmfTimeRange(TmfTimestamp
.ZERO
, TmfTimestamp
.BIG_CRUNCH
);
73 filter
= new TmfRangeFilter(range
);
74 assertEquals("getTimeRange", range
, filter
.getTimeRange());
76 range
= new TmfTimeRange(new TmfTimestamp(10), TmfTimestamp
.BIG_CRUNCH
);
77 filter
= new TmfRangeFilter(range
);
78 assertEquals("getTimeRange", range
, filter
.getTimeRange());
82 public void testTmfRangeFilterCopy() {
83 TmfTimeRange range
= new TmfTimeRange(TmfTimestamp
.ZERO
, TmfTimestamp
.BIG_CRUNCH
);
84 TmfRangeFilter filter1
= new TmfRangeFilter(range
);
85 TmfRangeFilter filter2
= new TmfRangeFilter(filter1
);
87 assertEquals("getTimeRange", filter1
.getTimeRange(), filter2
.getTimeRange());
90 // ------------------------------------------------------------------------
92 // ------------------------------------------------------------------------
95 public void testEqualsReflexivity() {
96 TmfTimeRange range1
= TmfTimeRange
.ETERNITY
;
97 TmfTimeRange range2
= new TmfTimeRange(TmfTimestamp
.ZERO
, TmfTimestamp
.BIG_CRUNCH
);
98 TmfRangeFilter filter1
= new TmfRangeFilter(range1
);
99 TmfRangeFilter filter2
= new TmfRangeFilter(range2
);
101 assertEquals("equals", filter1
, filter1
);
102 assertEquals("equals", filter2
, filter2
);
104 assertFalse("equals", filter1
.equals(filter2
));
105 assertFalse("equals", filter2
.equals(filter1
));
109 public void testEqualsSymmetry() {
110 TmfTimeRange range1
= TmfTimeRange
.ETERNITY
;
111 TmfTimeRange range2
= new TmfTimeRange(TmfTimestamp
.ZERO
, TmfTimestamp
.BIG_CRUNCH
);
112 TmfRangeFilter filter1
= new TmfRangeFilter(range1
);
113 TmfRangeFilter filter2
= new TmfRangeFilter(range1
);
114 TmfRangeFilter filter3
= new TmfRangeFilter(range2
);
116 assertEquals("equals", filter1
, filter2
);
117 assertEquals("equals", filter2
, filter1
);
119 assertFalse("equals", filter1
.equals(filter3
));
120 assertFalse("equals", filter3
.equals(filter1
));
124 public void testEqualsTransivity() {
125 TmfTimeRange range
= new TmfTimeRange(TmfTimestamp
.ZERO
, TmfTimestamp
.BIG_CRUNCH
);
126 TmfRangeFilter filter1
= new TmfRangeFilter(range
);
127 TmfRangeFilter filter2
= new TmfRangeFilter(range
);
128 TmfRangeFilter filter3
= new TmfRangeFilter(range
);
130 assertEquals("equals", filter1
, filter2
);
131 assertEquals("equals", filter2
, filter3
);
132 assertEquals("equals", filter3
, filter1
);
136 public void testEqualsNull() {
137 TmfTimeRange range1
= new TmfTimeRange(TmfTimestamp
.ZERO
, TmfTimestamp
.BIG_CRUNCH
);
138 TmfTimeRange range2
= new TmfTimeRange(new TmfTimestamp(10), TmfTimestamp
.BIG_CRUNCH
);
139 TmfRangeFilter filter1
= new TmfRangeFilter(range1
);
140 TmfRangeFilter filter2
= new TmfRangeFilter(range2
);
142 assertFalse("equals", filter1
.equals(null));
143 assertFalse("equals", filter2
.equals(null));
146 // ------------------------------------------------------------------------
148 // ------------------------------------------------------------------------
151 public void testHashCode() {
152 TmfTimeRange range1
= new TmfTimeRange(TmfTimestamp
.ZERO
, TmfTimestamp
.BIG_CRUNCH
);
153 TmfTimeRange range2
= new TmfTimeRange(new TmfTimestamp(10), TmfTimestamp
.BIG_CRUNCH
);
154 TmfRangeFilter filter1
= new TmfRangeFilter(range1
);
155 TmfRangeFilter filter2
= new TmfRangeFilter(range2
);
157 assertFalse("hashCode", filter1
.hashCode() == filter2
.hashCode());
160 // ------------------------------------------------------------------------
162 // ------------------------------------------------------------------------
165 public void testToString() {
166 TmfTimeRange range1
= new TmfTimeRange(TmfTimestamp
.ZERO
, TmfTimestamp
.BIG_CRUNCH
);
167 TmfTimeRange range2
= new TmfTimeRange(new TmfTimestamp(10), new TmfTimestamp(1000));
168 TmfRangeFilter filter1
= new TmfRangeFilter(range1
);
169 TmfRangeFilter filter2
= new TmfRangeFilter(range2
);
171 String expected0
= "TmfRangeFilter [fTimeRange=TmfTimeRange [fStartTime=" + TmfTimestamp
.BIG_BANG
+ ", fEndTime=" + TmfTimestamp
.BIG_CRUNCH
+ "]]";
172 String expected1
= "TmfRangeFilter [fTimeRange=TmfTimeRange [fStartTime=" + TmfTimestamp
.ZERO
+ ", fEndTime=" + TmfTimestamp
.BIG_CRUNCH
+ "]]";
173 String expected2
= "TmfRangeFilter [fTimeRange=TmfTimeRange [fStartTime=" + new TmfTimestamp(10) + ", fEndTime=" + new TmfTimestamp(1000) + "]]";
175 assertEquals("toString", expected0
, TmfRangeFilter
.ALL_EVENTS
.toString());
176 assertEquals("toString", expected1
, filter1
.toString());
177 assertEquals("toString", expected2
, filter2
.toString());
180 // ------------------------------------------------------------------------
182 // ------------------------------------------------------------------------
185 * The only test that really matters...
188 public void testMatches() {
190 TmfTimeRange range1
= new TmfTimeRange(new TmfTimestamp(0), new TmfTimestamp(1000));
191 TmfTimeRange range2
= new TmfTimeRange(new TmfTimestamp(10), new TmfTimestamp(2000));
193 TmfRangeFilter filter1
= new TmfRangeFilter(range1
);
194 TmfRangeFilter filter2
= new TmfRangeFilter(range2
);
196 ITmfEvent event
= new TmfEvent(null, 0, new TmfTimestamp(0), null, null, null, null);
197 assertTrue ("matches", TmfRangeFilter
.ALL_EVENTS
.matches(event
));
198 assertTrue ("matches", filter1
.matches(event
));
199 assertTrue ("matches", filter2
.matches(event
));
201 event
= new TmfEvent(null, 0, new TmfTimestamp(5), null, null, null, null);
202 assertTrue ("matches", TmfRangeFilter
.ALL_EVENTS
.matches(event
));
203 assertTrue ("matches", filter1
.matches(event
));
204 assertFalse("matches", filter2
.matches(event
));
206 event
= new TmfEvent(null, 0, new TmfTimestamp(9), null, null, null, null);
207 assertTrue ("matches", TmfRangeFilter
.ALL_EVENTS
.matches(event
));
208 assertTrue ("matches", filter1
.matches(event
));
209 assertFalse("matches", filter2
.matches(event
));
211 event
= new TmfEvent(null, 0, new TmfTimestamp(10), null, null, null, null);
212 assertTrue ("matches", TmfRangeFilter
.ALL_EVENTS
.matches(event
));
213 assertTrue ("matches", filter1
.matches(event
));
214 assertTrue ("matches", filter2
.matches(event
));
216 event
= new TmfEvent(null, 0, new TmfTimestamp(999), null, null, null, null);
217 assertTrue ("matches", TmfRangeFilter
.ALL_EVENTS
.matches(event
));
218 assertTrue ("matches", filter1
.matches(event
));
219 assertTrue ("matches", filter2
.matches(event
));
221 event
= new TmfEvent(null, 0, new TmfTimestamp(1000), null, null, null, null);
222 assertTrue ("matches", TmfRangeFilter
.ALL_EVENTS
.matches(event
));
223 assertTrue ("matches", filter1
.matches(event
));
224 assertTrue ("matches", filter2
.matches(event
));
226 event
= new TmfEvent(null, 0, new TmfTimestamp(1001), null, null, null, null);
227 assertTrue ("matches", TmfRangeFilter
.ALL_EVENTS
.matches(event
));
228 assertFalse("matches", filter1
.matches(event
));
229 assertTrue ("matches", filter2
.matches(event
));
231 event
= new TmfEvent(null, 0, new TmfTimestamp(1999), null, null, null, null);
232 assertTrue ("matches", TmfRangeFilter
.ALL_EVENTS
.matches(event
));
233 assertFalse("matches", filter1
.matches(event
));
234 assertTrue ("matches", filter2
.matches(event
));
236 event
= new TmfEvent(null, 0, new TmfTimestamp(2000), null, null, null, null);
237 assertTrue ("matches", TmfRangeFilter
.ALL_EVENTS
.matches(event
));
238 assertFalse("matches", filter1
.matches(event
));
239 assertTrue ("matches", filter2
.matches(event
));
241 event
= new TmfEvent(null, 0, new TmfTimestamp(2001), null, null, null, null);
242 assertTrue ("matches", TmfRangeFilter
.ALL_EVENTS
.matches(event
));
243 assertFalse("matches", filter1
.matches(event
));
244 assertFalse("matches", filter2
.matches(event
));