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
.assertTrue
;
20 import org
.eclipse
.linuxtools
.tmf
.core
.event
.ITmfEvent
;
21 import org
.eclipse
.linuxtools
.tmf
.core
.request
.TmfDataRequest
;
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 TmfDataRequest
.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("getIndex", 0, request
.getIndex());
112 assertEquals("getNbRequestedEvents", TmfDataRequest
.ALL_DATA
, request
.getNbRequested());
114 assertFalse("isCompleted", request
.isCompleted());
115 assertFalse("isFailed", request
.isFailed());
116 assertFalse("isCancelled", request
.isCancelled());
118 assertEquals("getNbRead", 0, request
.getNbRead());
122 public void testTmfEventRequestTimeRange() {
123 TmfTimeRange range
= new TmfTimeRange(new TmfTimestamp(), TmfTimestamp
.BIG_CRUNCH
);
124 TmfEventRequest request
= new TmfEventRequestStub(ITmfEvent
.class, range
);
126 assertEquals("getRequestId", fRequestCount
++, request
.getRequestId());
127 assertEquals("getDataType", ITmfEvent
.class, request
.getDataType());
129 assertEquals("StartTime", new TmfTimestamp(), request
.getRange().getStartTime());
130 assertEquals("EndTime", TmfTimestamp
.BIG_CRUNCH
, request
.getRange().getEndTime());
132 assertEquals("getIndex", 0, request
.getIndex());
133 assertEquals("getNbRequestedEvents", TmfDataRequest
.ALL_DATA
, request
.getNbRequested());
135 assertFalse("isCompleted", request
.isCompleted());
136 assertFalse("isFailed", request
.isFailed());
137 assertFalse("isCancelled", request
.isCancelled());
139 assertEquals("getNbRead", 0, request
.getNbRead());
143 public void testTmfEventRequestTimeRangeNbRequested() {
144 TmfTimeRange range
= new TmfTimeRange(new TmfTimestamp(), TmfTimestamp
.BIG_CRUNCH
);
145 TmfEventRequest request
= new TmfEventRequestStub(ITmfEvent
.class, range
, 100);
147 assertEquals("getRequestId", fRequestCount
++, request
.getRequestId());
148 assertEquals("getDataType", ITmfEvent
.class, request
.getDataType());
150 assertEquals("StartTime", new TmfTimestamp(), request
.getRange().getStartTime());
151 assertEquals("EndTime", TmfTimestamp
.BIG_CRUNCH
, request
.getRange().getEndTime());
153 assertEquals("getIndex", 0, request
.getIndex());
154 assertEquals("getNbRequestedEvents", 100, request
.getNbRequested());
156 assertFalse("isCompleted", request
.isCompleted());
157 assertFalse("isFailed", request
.isFailed());
158 assertFalse("isCancelled", request
.isCancelled());
160 assertEquals("getNbRead", 0, request
.getNbRead());
164 public void testTmfEventRequestTimeRangeNbRequestedBlocksize() {
165 TmfTimeRange range
= new TmfTimeRange(new TmfTimestamp(), TmfTimestamp
.BIG_CRUNCH
);
166 TmfEventRequest request
= new TmfEventRequestStub(ITmfEvent
.class, range
, 100, 200);
168 assertEquals("getRequestId", fRequestCount
++, request
.getRequestId());
169 assertEquals("getDataType", ITmfEvent
.class, request
.getDataType());
171 assertEquals("StartTime", new TmfTimestamp(), request
.getRange().getStartTime());
172 assertEquals("EndTime", TmfTimestamp
.BIG_CRUNCH
, request
.getRange().getEndTime());
174 assertEquals("getIndex", 0, request
.getIndex());
175 assertEquals("getNbRequestedEvents", 100, request
.getNbRequested());
177 assertFalse("isCompleted", request
.isCompleted());
178 assertFalse("isFailed", request
.isFailed());
179 assertFalse("isCancelled", request
.isCancelled());
181 assertEquals("getNbRead", 0, request
.getNbRead());
184 // ------------------------------------------------------------------------
186 // ------------------------------------------------------------------------
189 public void testEqualsReflexivity() {
190 assertTrue("equals", fRequest1
.equals(fRequest1
));
191 assertTrue("equals", fRequest2
.equals(fRequest2
));
193 assertFalse("equals", fRequest1
.equals(fRequest2
));
194 assertFalse("equals", fRequest2
.equals(fRequest1
));
198 public void testEqualsSymmetry() {
199 assertTrue("equals", fRequest1
.equals(fRequest1b
));
200 assertTrue("equals", fRequest1b
.equals(fRequest1
));
202 assertFalse("equals", fRequest1
.equals(fRequest3
));
203 assertFalse("equals", fRequest2
.equals(fRequest3
));
204 assertFalse("equals", fRequest3
.equals(fRequest1
));
205 assertFalse("equals", fRequest3
.equals(fRequest2
));
209 public void testEqualsTransivity() {
210 assertTrue("equals", fRequest1
.equals(fRequest1b
));
211 assertTrue("equals", fRequest1b
.equals(fRequest1c
));
212 assertTrue("equals", fRequest1
.equals(fRequest1c
));
216 public void testEqualsNull() {
217 assertFalse("equals", fRequest1
.equals(null));
218 assertFalse("equals", fRequest2
.equals(null));
221 // ------------------------------------------------------------------------
223 // ------------------------------------------------------------------------
226 public void testHashCode() {
227 assertTrue("hashCode", fRequest1
.hashCode() == fRequest1
.hashCode());
228 assertTrue("hashCode", fRequest2
.hashCode() == fRequest2
.hashCode());
229 assertTrue("hashCode", fRequest1
.hashCode() != fRequest2
.hashCode());
232 // ------------------------------------------------------------------------
234 // ------------------------------------------------------------------------
237 public void testToString() {
238 String expected1
= "[TmfEventRequestStub(0,ITmfEvent,FOREGROUND," + range1
+ ",0,100)]";
239 String expected2
= "[TmfEventRequestStub(1,ITmfEvent,FOREGROUND," + range2
+ ",0,100)]";
240 String expected3
= "[TmfEventRequestStub(2,ITmfEvent,FOREGROUND," + range2
+ ",0,200)]";
241 String expected4
= "[TmfEventRequestStub(3,ITmfEvent,FOREGROUND," + range2
+ ",0,200)]";
243 assertEquals("toString", expected1
, fRequest1
.toString());
244 assertEquals("toString", expected2
, fRequest2
.toString());
245 assertEquals("toString", expected3
, fRequest3
.toString());
246 assertEquals("toString", expected4
, fRequest4
.toString());
249 // ------------------------------------------------------------------------
251 // ------------------------------------------------------------------------
254 public void testDone() {
255 final boolean[] flags
= new boolean[4];
256 TmfEventRequest request
= setupTestRequest(flags
);
259 assertTrue("isCompleted", request
.isCompleted());
260 assertFalse("isFailed", request
.isFailed());
261 assertFalse("isCancelled", request
.isCancelled());
263 assertTrue("handleCompleted", flags
[0]);
264 assertTrue("handleSuccess", flags
[1]);
265 assertFalse("handleFailure", flags
[2]);
266 assertFalse("handleCancel", flags
[3]);
269 // ------------------------------------------------------------------------
271 // ------------------------------------------------------------------------
274 public void testFail() {
275 final boolean[] flags
= new boolean[4];
276 TmfEventRequest request
= setupTestRequest(flags
);
279 assertTrue("isCompleted", request
.isCompleted());
280 assertTrue("isFailed", request
.isFailed());
281 assertFalse("isCancelled", request
.isCancelled());
283 assertTrue("handleCompleted", flags
[0]);
284 assertFalse("handleSuccess", flags
[1]);
285 assertTrue("handleFailure", flags
[2]);
286 assertFalse("handleCancel", flags
[3]);
289 // ------------------------------------------------------------------------
291 // ------------------------------------------------------------------------
294 public void testCancel() {
295 final boolean[] flags
= new boolean[4];
296 TmfEventRequest request
= setupTestRequest(flags
);
299 assertTrue("isCompleted", request
.isCompleted());
300 assertFalse("isFailed", request
.isFailed());
301 assertTrue("isCancelled", request
.isCancelled());
303 assertTrue("handleCompleted", flags
[0]);
304 assertFalse("handleSuccess", flags
[1]);
305 assertFalse("handleFailure", flags
[2]);
306 assertTrue("handleCancel", flags
[3]);