1 /*******************************************************************************
2 * Copyright (c) 2009, 2015 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
.tracecompass
.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
.tracecompass
.tmf
.core
.event
.ITmfEvent
;
22 import org
.eclipse
.tracecompass
.tmf
.core
.request
.ITmfEventRequest
;
23 import org
.eclipse
.tracecompass
.tmf
.core
.request
.TmfEventRequest
;
24 import org
.eclipse
.tracecompass
.tmf
.core
.timestamp
.TmfTimeRange
;
25 import org
.eclipse
.tracecompass
.tmf
.core
.timestamp
.TmfTimestamp
;
26 import org
.eclipse
.tracecompass
.tmf
.tests
.stubs
.request
.TmfEventRequestStub
;
27 import org
.junit
.Before
;
28 import org
.junit
.Test
;
31 * Test suite for the TmfEventRequest class.
33 @SuppressWarnings("javadoc")
34 public class TmfEventRequestTest
{
36 // ------------------------------------------------------------------------
38 // ------------------------------------------------------------------------
40 private static TmfTimeRange range1
= TmfTimeRange
.ETERNITY
;
41 private static TmfTimeRange range2
= new TmfTimeRange(TmfTimestamp
.fromSeconds(0), TmfTimestamp
.BIG_CRUNCH
);
43 private static TmfEventRequest fRequest1
;
44 private static TmfEventRequest fRequest2
;
45 private static TmfEventRequest fRequest3
;
46 private static TmfEventRequest fRequest4
;
48 // ------------------------------------------------------------------------
50 // ------------------------------------------------------------------------
54 fRequest1
= new TmfEventRequestStub(ITmfEvent
.class, range1
, 100, 200);
55 fRequest2
= new TmfEventRequestStub(ITmfEvent
.class, range2
, 100, 200);
56 fRequest3
= new TmfEventRequestStub(ITmfEvent
.class, range2
, 200, 200);
57 fRequest4
= new TmfEventRequestStub(ITmfEvent
.class, range2
, 200, 300);
60 private static TmfEventRequest
setupTestRequest(final boolean[] flags
) {
62 TmfEventRequest request
= new TmfEventRequestStub(ITmfEvent
.class, TmfTimeRange
.ETERNITY
, 100, 200) {
64 public void handleCompleted() {
65 super.handleCompleted();
70 public void handleSuccess() {
71 super.handleSuccess();
76 public void handleFailure() {
77 super.handleFailure();
82 public void handleCancel() {
90 // ------------------------------------------------------------------------
92 // ------------------------------------------------------------------------
95 public void testTmfEventRequest() {
96 TmfEventRequest request
= new TmfEventRequestStub(ITmfEvent
.class);
98 assertEquals("getDataType", ITmfEvent
.class, request
.getDataType());
100 assertEquals("StartTime", TmfTimestamp
.BIG_BANG
, request
.getRange().getStartTime());
101 assertEquals("EndTime", TmfTimestamp
.BIG_CRUNCH
, request
.getRange().getEndTime());
103 assertEquals("getRange", TmfTimeRange
.ETERNITY
, request
.getRange());
104 assertSame("getRange", TmfTimeRange
.ETERNITY
, request
.getRange());
106 assertEquals("getIndex", 0, request
.getIndex());
107 assertEquals("getNbRequestedEvents", ITmfEventRequest
.ALL_DATA
, request
.getNbRequested());
109 assertFalse("isCompleted", request
.isCompleted());
110 assertFalse("isFailed", request
.isFailed());
111 assertFalse("isCancelled", request
.isCancelled());
113 assertEquals("getNbRead", 0, request
.getNbRead());
117 public void testTmfEventRequestTimeRange() {
118 TmfTimeRange range
= new TmfTimeRange(TmfTimestamp
.fromSeconds(0), TmfTimestamp
.BIG_CRUNCH
);
119 TmfEventRequest request
= new TmfEventRequestStub(ITmfEvent
.class, range
);
121 assertEquals("getDataType", ITmfEvent
.class, request
.getDataType());
123 assertEquals("StartTime", TmfTimestamp
.fromSeconds(0), request
.getRange().getStartTime());
124 assertEquals("EndTime", TmfTimestamp
.BIG_CRUNCH
, request
.getRange().getEndTime());
126 assertEquals("getIndex", 0, request
.getIndex());
127 assertEquals("getNbRequestedEvents", ITmfEventRequest
.ALL_DATA
, request
.getNbRequested());
129 assertFalse("isCompleted", request
.isCompleted());
130 assertFalse("isFailed", request
.isFailed());
131 assertFalse("isCancelled", request
.isCancelled());
133 assertEquals("getNbRead", 0, request
.getNbRead());
137 public void testTmfEventRequestTimeRangeNbRequested() {
138 TmfTimeRange range
= new TmfTimeRange(TmfTimestamp
.fromSeconds(0), TmfTimestamp
.BIG_CRUNCH
);
139 TmfEventRequest request
= new TmfEventRequestStub(ITmfEvent
.class, range
, 100);
141 assertEquals("getDataType", ITmfEvent
.class, request
.getDataType());
143 assertEquals("StartTime", TmfTimestamp
.fromSeconds(0), request
.getRange().getStartTime());
144 assertEquals("EndTime", TmfTimestamp
.BIG_CRUNCH
, request
.getRange().getEndTime());
146 assertEquals("getIndex", 0, request
.getIndex());
147 assertEquals("getNbRequestedEvents", 100, request
.getNbRequested());
149 assertFalse("isCompleted", request
.isCompleted());
150 assertFalse("isFailed", request
.isFailed());
151 assertFalse("isCancelled", request
.isCancelled());
153 assertEquals("getNbRead", 0, request
.getNbRead());
157 public void testTmfEventRequestTimeRangeNbRequestedBlocksize() {
158 TmfTimeRange range
= new TmfTimeRange(TmfTimestamp
.fromSeconds(0), TmfTimestamp
.BIG_CRUNCH
);
159 TmfEventRequest request
= new TmfEventRequestStub(ITmfEvent
.class, range
, 100, 200);
161 assertEquals("getDataType", ITmfEvent
.class, request
.getDataType());
163 assertEquals("StartTime", TmfTimestamp
.fromSeconds(0), request
.getRange().getStartTime());
164 assertEquals("EndTime", TmfTimestamp
.BIG_CRUNCH
, request
.getRange().getEndTime());
166 assertEquals("getIndex", 0, request
.getIndex());
167 assertEquals("getNbRequestedEvents", 100, request
.getNbRequested());
169 assertFalse("isCompleted", request
.isCompleted());
170 assertFalse("isFailed", request
.isFailed());
171 assertFalse("isCancelled", request
.isCancelled());
173 assertEquals("getNbRead", 0, request
.getNbRead());
176 // ------------------------------------------------------------------------
178 // ------------------------------------------------------------------------
181 public void testEquals() {
183 * No two different requests should be "equal", even if they used the
184 * same constructor parameters.
186 assertTrue(fRequest1
.equals(fRequest1
));
187 assertFalse(fRequest1
.equals(fRequest2
));
188 assertFalse(fRequest1
.equals(fRequest3
));
189 assertFalse(fRequest1
.equals(fRequest4
));
192 // ------------------------------------------------------------------------
194 // ------------------------------------------------------------------------
197 public void testToString() {
198 String expected1
= "[TmfEventRequestStub(" + fRequest1
.getRequestId() + ",ITmfEvent,FOREGROUND," + range1
+ ",0,100)]";
199 String expected2
= "[TmfEventRequestStub(" + fRequest2
.getRequestId() + ",ITmfEvent,FOREGROUND," + range2
+ ",0,100)]";
200 String expected3
= "[TmfEventRequestStub(" + fRequest3
.getRequestId() + ",ITmfEvent,FOREGROUND," + range2
+ ",0,200)]";
201 String expected4
= "[TmfEventRequestStub(" + fRequest4
.getRequestId() + ",ITmfEvent,FOREGROUND," + range2
+ ",0,200)]";
203 assertEquals("toString", expected1
, fRequest1
.toString());
204 assertEquals("toString", expected2
, fRequest2
.toString());
205 assertEquals("toString", expected3
, fRequest3
.toString());
206 assertEquals("toString", expected4
, fRequest4
.toString());
209 // ------------------------------------------------------------------------
211 // ------------------------------------------------------------------------
214 public void testDone() {
215 final boolean[] flags
= new boolean[4];
216 TmfEventRequest request
= setupTestRequest(flags
);
219 assertTrue("isCompleted", request
.isCompleted());
220 assertFalse("isFailed", request
.isFailed());
221 assertFalse("isCancelled", request
.isCancelled());
223 assertTrue("handleCompleted", flags
[0]);
224 assertTrue("handleSuccess", flags
[1]);
225 assertFalse("handleFailure", flags
[2]);
226 assertFalse("handleCancel", flags
[3]);
229 // ------------------------------------------------------------------------
231 // ------------------------------------------------------------------------
234 public void testFail() {
235 final boolean[] flags
= new boolean[4];
236 TmfEventRequest request
= setupTestRequest(flags
);
239 assertTrue("isCompleted", request
.isCompleted());
240 assertTrue("isFailed", request
.isFailed());
241 assertFalse("isCancelled", request
.isCancelled());
243 assertTrue("handleCompleted", flags
[0]);
244 assertFalse("handleSuccess", flags
[1]);
245 assertTrue("handleFailure", flags
[2]);
246 assertFalse("handleCancel", flags
[3]);
249 // ------------------------------------------------------------------------
251 // ------------------------------------------------------------------------
254 public void testCancel() {
255 final boolean[] flags
= new boolean[4];
256 TmfEventRequest request
= setupTestRequest(flags
);
259 assertTrue("isCompleted", request
.isCompleted());
260 assertFalse("isFailed", request
.isFailed());
261 assertTrue("isCancelled", request
.isCancelled());
263 assertTrue("handleCompleted", flags
[0]);
264 assertFalse("handleSuccess", flags
[1]);
265 assertFalse("handleFailure", flags
[2]);
266 assertTrue("handleCancel", flags
[3]);