1 /*******************************************************************************
2 * Copyright (c) 2009, 2013 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 * Alexandre Montplaisir - Port to JUnit4
12 *******************************************************************************/
14 package org
.eclipse
.linuxtools
.tmf
.core
.tests
.request
;
16 import static org
.junit
.Assert
.assertEquals
;
17 import static org
.junit
.Assert
.assertFalse
;
18 import static org
.junit
.Assert
.assertSame
;
19 import static org
.junit
.Assert
.assertTrue
;
21 import org
.eclipse
.linuxtools
.tmf
.core
.event
.ITmfEvent
;
22 import org
.eclipse
.linuxtools
.tmf
.core
.request
.TmfEventRequest
;
23 import org
.eclipse
.linuxtools
.tmf
.core
.timestamp
.TmfTimeRange
;
24 import org
.eclipse
.linuxtools
.tmf
.core
.timestamp
.TmfTimestamp
;
25 import org
.eclipse
.linuxtools
.tmf
.tests
.stubs
.request
.TmfEventRequestStub
;
26 import org
.junit
.Before
;
27 import org
.junit
.Test
;
30 * Test suite for the TmfEventRequest class.
32 @SuppressWarnings("javadoc")
33 public class TmfEventRequestTest
{
35 // ------------------------------------------------------------------------
37 // ------------------------------------------------------------------------
39 private static TmfTimeRange range1
= new TmfTimeRange(TmfTimeRange
.ETERNITY
);
40 private static TmfTimeRange range2
= new TmfTimeRange(new TmfTimestamp(), TmfTimestamp
.BIG_CRUNCH
);
42 private static TmfEventRequest fRequest1
;
43 private static TmfEventRequest fRequest1b
;
44 private static TmfEventRequest fRequest1c
;
45 private static TmfEventRequest fRequest2
;
46 private static TmfEventRequest fRequest3
;
47 private static TmfEventRequest fRequest4
;
49 private static int fRequestCount
;
51 // ------------------------------------------------------------------------
53 // ------------------------------------------------------------------------
57 TmfEventRequest
.reset();
58 fRequest1
= new TmfEventRequestStub(ITmfEvent
.class, range1
, 100, 200);
59 fRequest2
= new TmfEventRequestStub(ITmfEvent
.class, range2
, 100, 200);
60 fRequest3
= new TmfEventRequestStub(ITmfEvent
.class, range2
, 200, 200);
61 fRequest4
= new TmfEventRequestStub(ITmfEvent
.class, range2
, 200, 300);
62 fRequest1b
= new TmfEventRequestStub(ITmfEvent
.class, range1
, 100, 200);
63 fRequest1c
= new TmfEventRequestStub(ITmfEvent
.class, range1
, 100, 200);
64 fRequestCount
= fRequest1c
.getRequestId() + 1;
67 private static TmfEventRequest
setupTestRequest(final boolean[] flags
) {
69 TmfEventRequest request
= new TmfEventRequestStub(ITmfEvent
.class, new TmfTimeRange(TmfTimeRange
.ETERNITY
), 100, 200) {
71 public void handleCompleted() {
72 super.handleCompleted();
77 public void handleSuccess() {
78 super.handleSuccess();
83 public void handleFailure() {
84 super.handleFailure();
89 public void handleCancel() {
97 // ------------------------------------------------------------------------
99 // ------------------------------------------------------------------------
102 public void testTmfEventRequest() {
103 TmfEventRequest request
= new TmfEventRequestStub(ITmfEvent
.class);
105 assertEquals("getRequestId", fRequestCount
++, request
.getRequestId());
106 assertEquals("getDataType", ITmfEvent
.class, request
.getDataType());
108 assertEquals("StartTime", TmfTimestamp
.BIG_BANG
, request
.getRange().getStartTime());
109 assertEquals("EndTime", TmfTimestamp
.BIG_CRUNCH
, request
.getRange().getEndTime());
111 assertEquals("getRange", TmfTimeRange
.ETERNITY
, request
.getRange());
112 assertSame("getRange", TmfTimeRange
.ETERNITY
, request
.getRange());
114 assertEquals("getIndex", 0, request
.getIndex());
115 assertEquals("getNbRequestedEvents", TmfEventRequest
.ALL_DATA
, request
.getNbRequested());
117 assertFalse("isCompleted", request
.isCompleted());
118 assertFalse("isFailed", request
.isFailed());
119 assertFalse("isCancelled", request
.isCancelled());
121 assertEquals("getNbRead", 0, request
.getNbRead());
125 public void testTmfEventRequestTimeRange() {
126 TmfTimeRange range
= new TmfTimeRange(new TmfTimestamp(), TmfTimestamp
.BIG_CRUNCH
);
127 TmfEventRequest request
= new TmfEventRequestStub(ITmfEvent
.class, range
);
129 assertEquals("getRequestId", fRequestCount
++, request
.getRequestId());
130 assertEquals("getDataType", ITmfEvent
.class, request
.getDataType());
132 assertEquals("StartTime", new TmfTimestamp(), request
.getRange().getStartTime());
133 assertEquals("EndTime", TmfTimestamp
.BIG_CRUNCH
, request
.getRange().getEndTime());
135 assertEquals("getIndex", 0, request
.getIndex());
136 assertEquals("getNbRequestedEvents", TmfEventRequest
.ALL_DATA
, request
.getNbRequested());
138 assertFalse("isCompleted", request
.isCompleted());
139 assertFalse("isFailed", request
.isFailed());
140 assertFalse("isCancelled", request
.isCancelled());
142 assertEquals("getNbRead", 0, request
.getNbRead());
146 public void testTmfEventRequestTimeRangeNbRequested() {
147 TmfTimeRange range
= new TmfTimeRange(new TmfTimestamp(), TmfTimestamp
.BIG_CRUNCH
);
148 TmfEventRequest request
= new TmfEventRequestStub(ITmfEvent
.class, range
, 100);
150 assertEquals("getRequestId", fRequestCount
++, request
.getRequestId());
151 assertEquals("getDataType", ITmfEvent
.class, request
.getDataType());
153 assertEquals("StartTime", new TmfTimestamp(), request
.getRange().getStartTime());
154 assertEquals("EndTime", TmfTimestamp
.BIG_CRUNCH
, request
.getRange().getEndTime());
156 assertEquals("getIndex", 0, request
.getIndex());
157 assertEquals("getNbRequestedEvents", 100, request
.getNbRequested());
159 assertFalse("isCompleted", request
.isCompleted());
160 assertFalse("isFailed", request
.isFailed());
161 assertFalse("isCancelled", request
.isCancelled());
163 assertEquals("getNbRead", 0, request
.getNbRead());
167 public void testTmfEventRequestTimeRangeNbRequestedBlocksize() {
168 TmfTimeRange range
= new TmfTimeRange(new TmfTimestamp(), TmfTimestamp
.BIG_CRUNCH
);
169 TmfEventRequest request
= new TmfEventRequestStub(ITmfEvent
.class, range
, 100, 200);
171 assertEquals("getRequestId", fRequestCount
++, request
.getRequestId());
172 assertEquals("getDataType", ITmfEvent
.class, request
.getDataType());
174 assertEquals("StartTime", new TmfTimestamp(), request
.getRange().getStartTime());
175 assertEquals("EndTime", TmfTimestamp
.BIG_CRUNCH
, request
.getRange().getEndTime());
177 assertEquals("getIndex", 0, request
.getIndex());
178 assertEquals("getNbRequestedEvents", 100, request
.getNbRequested());
180 assertFalse("isCompleted", request
.isCompleted());
181 assertFalse("isFailed", request
.isFailed());
182 assertFalse("isCancelled", request
.isCancelled());
184 assertEquals("getNbRead", 0, request
.getNbRead());
187 // ------------------------------------------------------------------------
189 // ------------------------------------------------------------------------
192 public void testEqualsReflexivity() {
193 assertTrue("equals", fRequest1
.equals(fRequest1
));
194 assertTrue("equals", fRequest2
.equals(fRequest2
));
196 assertFalse("equals", fRequest1
.equals(fRequest2
));
197 assertFalse("equals", fRequest2
.equals(fRequest1
));
201 public void testEqualsSymmetry() {
202 assertTrue("equals", fRequest1
.equals(fRequest1b
));
203 assertTrue("equals", fRequest1b
.equals(fRequest1
));
205 assertFalse("equals", fRequest1
.equals(fRequest3
));
206 assertFalse("equals", fRequest2
.equals(fRequest3
));
207 assertFalse("equals", fRequest3
.equals(fRequest1
));
208 assertFalse("equals", fRequest3
.equals(fRequest2
));
212 public void testEqualsTransivity() {
213 assertTrue("equals", fRequest1
.equals(fRequest1b
));
214 assertTrue("equals", fRequest1b
.equals(fRequest1c
));
215 assertTrue("equals", fRequest1
.equals(fRequest1c
));
219 public void testEqualsNull() {
220 assertFalse("equals", fRequest1
.equals(null));
221 assertFalse("equals", fRequest2
.equals(null));
224 // ------------------------------------------------------------------------
226 // ------------------------------------------------------------------------
229 public void testHashCode() {
230 assertTrue("hashCode", fRequest1
.hashCode() == fRequest1
.hashCode());
231 assertTrue("hashCode", fRequest2
.hashCode() == fRequest2
.hashCode());
232 assertTrue("hashCode", fRequest1
.hashCode() != fRequest2
.hashCode());
235 // ------------------------------------------------------------------------
237 // ------------------------------------------------------------------------
240 public void testToString() {
241 String expected1
= "[TmfEventRequestStub(0,ITmfEvent,FOREGROUND," + range1
+ ",0,100)]";
242 String expected2
= "[TmfEventRequestStub(1,ITmfEvent,FOREGROUND," + range2
+ ",0,100)]";
243 String expected3
= "[TmfEventRequestStub(2,ITmfEvent,FOREGROUND," + range2
+ ",0,200)]";
244 String expected4
= "[TmfEventRequestStub(3,ITmfEvent,FOREGROUND," + range2
+ ",0,200)]";
246 assertEquals("toString", expected1
, fRequest1
.toString());
247 assertEquals("toString", expected2
, fRequest2
.toString());
248 assertEquals("toString", expected3
, fRequest3
.toString());
249 assertEquals("toString", expected4
, fRequest4
.toString());
252 // ------------------------------------------------------------------------
254 // ------------------------------------------------------------------------
257 public void testDone() {
258 final boolean[] flags
= new boolean[4];
259 TmfEventRequest request
= setupTestRequest(flags
);
262 assertTrue("isCompleted", request
.isCompleted());
263 assertFalse("isFailed", request
.isFailed());
264 assertFalse("isCancelled", request
.isCancelled());
266 assertTrue("handleCompleted", flags
[0]);
267 assertTrue("handleSuccess", flags
[1]);
268 assertFalse("handleFailure", flags
[2]);
269 assertFalse("handleCancel", flags
[3]);
272 // ------------------------------------------------------------------------
274 // ------------------------------------------------------------------------
277 public void testFail() {
278 final boolean[] flags
= new boolean[4];
279 TmfEventRequest request
= setupTestRequest(flags
);
282 assertTrue("isCompleted", request
.isCompleted());
283 assertTrue("isFailed", request
.isFailed());
284 assertFalse("isCancelled", request
.isCancelled());
286 assertTrue("handleCompleted", flags
[0]);
287 assertFalse("handleSuccess", flags
[1]);
288 assertTrue("handleFailure", flags
[2]);
289 assertFalse("handleCancel", flags
[3]);
292 // ------------------------------------------------------------------------
294 // ------------------------------------------------------------------------
297 public void testCancel() {
298 final boolean[] flags
= new boolean[4];
299 TmfEventRequest request
= setupTestRequest(flags
);
302 assertTrue("isCompleted", request
.isCompleted());
303 assertFalse("isFailed", request
.isFailed());
304 assertTrue("isCancelled", request
.isCancelled());
306 assertTrue("handleCompleted", flags
[0]);
307 assertFalse("handleSuccess", flags
[1]);
308 assertFalse("handleFailure", flags
[2]);
309 assertTrue("handleCancel", flags
[3]);