1 /*******************************************************************************
2 * Copyright (c) 2009, 2010 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
.TmfEvent
;
18 import org
.eclipse
.linuxtools
.tmf
.core
.event
.TmfTimeRange
;
19 import org
.eclipse
.linuxtools
.tmf
.core
.event
.TmfTimestamp
;
20 import org
.eclipse
.linuxtools
.tmf
.core
.request
.TmfDataRequest
;
21 import org
.eclipse
.linuxtools
.tmf
.core
.request
.TmfEventRequest
;
22 import org
.eclipse
.linuxtools
.tmf
.tests
.stubs
.request
.TmfEventRequestStub
;
25 * <b><u>TmfEventRequestTest</u></b>
27 * Test suite for the TmfEventRequest class.
29 @SuppressWarnings({"nls","javadoc"})
30 public class TmfEventRequestTest
extends TestCase
{
32 // ------------------------------------------------------------------------
34 // ------------------------------------------------------------------------
36 private static TmfTimeRange range1
= new TmfTimeRange(TmfTimeRange
.ETERNITY
);
37 private static TmfTimeRange range2
= new TmfTimeRange(new TmfTimestamp(), TmfTimestamp
.BIG_CRUNCH
);
39 private static TmfEventRequest fRequest1
;
40 private static TmfEventRequest fRequest1b
;
41 private static TmfEventRequest fRequest1c
;
42 private static TmfEventRequest fRequest2
;
43 private static TmfEventRequest fRequest3
;
44 private static TmfEventRequest fRequest4
;
46 private static int fRequestCount
;
48 // ------------------------------------------------------------------------
50 // ------------------------------------------------------------------------
53 * @param name the test name
55 public TmfEventRequestTest(final String name
) {
60 protected void setUp() throws Exception
{
62 TmfDataRequest
.reset();
63 fRequest1
= new TmfEventRequestStub(TmfEvent
.class, range1
, 100, 200);
64 fRequest2
= new TmfEventRequestStub(TmfEvent
.class, range2
, 100, 200);
65 fRequest3
= new TmfEventRequestStub(TmfEvent
.class, range2
, 200, 200);
66 fRequest4
= new TmfEventRequestStub(TmfEvent
.class, range2
, 200, 300);
67 fRequest1b
= new TmfEventRequestStub(TmfEvent
.class, range1
, 100, 200);
68 fRequest1c
= new TmfEventRequestStub(TmfEvent
.class, range1
, 100, 200);
69 fRequestCount
= fRequest1c
.getRequestId() + 1;
73 protected void tearDown() throws Exception
{
77 private static TmfEventRequest
setupTestRequest(final boolean[] flags
) {
79 TmfEventRequest request
= new TmfEventRequestStub(TmfEvent
.class, new TmfTimeRange(TmfTimeRange
.ETERNITY
), 100, 200) {
81 public void handleCompleted() {
82 super.handleCompleted();
86 public void handleSuccess() {
87 super.handleSuccess();
91 public void handleFailure() {
92 super.handleFailure();
96 public void handleCancel() {
104 // ------------------------------------------------------------------------
106 // ------------------------------------------------------------------------
108 public void testTmfEventRequest() {
109 TmfEventRequest request
= new TmfEventRequestStub(TmfEvent
.class);
111 assertEquals("getRequestId", fRequestCount
++, request
.getRequestId());
112 assertEquals("getDataType", TmfEvent
.class, request
.getDataType());
114 assertEquals("StartTime", TmfTimestamp
.BIG_BANG
, request
.getRange().getStartTime());
115 assertEquals("EndTime", TmfTimestamp
.BIG_CRUNCH
, request
.getRange().getEndTime());
117 assertEquals("getIndex", 0, request
.getIndex());
118 assertEquals("getNbRequestedEvents", TmfDataRequest
.ALL_DATA
, request
.getNbRequested());
120 assertFalse("isCompleted", request
.isCompleted());
121 assertFalse("isFailed", request
.isFailed());
122 assertFalse("isCancelled", request
.isCancelled());
124 assertEquals("getNbRead", 0, request
.getNbRead());
127 public void testTmfEventRequestTimeRange() {
128 TmfTimeRange range
= new TmfTimeRange(new TmfTimestamp(), TmfTimestamp
.BIG_CRUNCH
);
129 TmfEventRequest request
= new TmfEventRequestStub(TmfEvent
.class, range
);
131 assertEquals("getRequestId", fRequestCount
++, request
.getRequestId());
132 assertEquals("getDataType", TmfEvent
.class, request
.getDataType());
134 assertEquals("StartTime", new TmfTimestamp(), request
.getRange().getStartTime());
135 assertEquals("EndTime", TmfTimestamp
.BIG_CRUNCH
, request
.getRange().getEndTime());
137 assertEquals("getIndex", 0, request
.getIndex());
138 assertEquals("getNbRequestedEvents", TmfDataRequest
.ALL_DATA
, request
.getNbRequested());
140 assertFalse("isCompleted", request
.isCompleted());
141 assertFalse("isFailed", request
.isFailed());
142 assertFalse("isCancelled", request
.isCancelled());
144 assertEquals("getNbRead", 0, request
.getNbRead());
147 public void testTmfEventRequestTimeRangeNbRequested() {
148 TmfTimeRange range
= new TmfTimeRange(new TmfTimestamp(), TmfTimestamp
.BIG_CRUNCH
);
149 TmfEventRequest request
= new TmfEventRequestStub(TmfEvent
.class, range
, 100);
151 assertEquals("getRequestId", fRequestCount
++, request
.getRequestId());
152 assertEquals("getDataType", TmfEvent
.class, request
.getDataType());
154 assertEquals("StartTime", new TmfTimestamp(), request
.getRange().getStartTime());
155 assertEquals("EndTime", TmfTimestamp
.BIG_CRUNCH
, request
.getRange().getEndTime());
157 assertEquals("getIndex", 0, request
.getIndex());
158 assertEquals("getNbRequestedEvents", 100, request
.getNbRequested());
160 assertFalse("isCompleted", request
.isCompleted());
161 assertFalse("isFailed", request
.isFailed());
162 assertFalse("isCancelled", request
.isCancelled());
164 assertEquals("getNbRead", 0, request
.getNbRead());
167 public void testTmfEventRequestTimeRangeNbRequestedBlocksize() {
168 TmfTimeRange range
= new TmfTimeRange(new TmfTimestamp(), TmfTimestamp
.BIG_CRUNCH
);
169 TmfEventRequest request
= new TmfEventRequestStub(TmfEvent
.class, range
, 100, 200);
171 assertEquals("getRequestId", fRequestCount
++, request
.getRequestId());
172 assertEquals("getDataType", TmfEvent
.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 // ------------------------------------------------------------------------
191 public void testEqualsReflexivity() {
192 assertTrue("equals", fRequest1
.equals(fRequest1
));
193 assertTrue("equals", fRequest2
.equals(fRequest2
));
195 assertFalse("equals", fRequest1
.equals(fRequest2
));
196 assertFalse("equals", fRequest2
.equals(fRequest1
));
199 public void testEqualsSymmetry() {
200 assertTrue("equals", fRequest1
.equals(fRequest1b
));
201 assertTrue("equals", fRequest1b
.equals(fRequest1
));
203 assertFalse("equals", fRequest1
.equals(fRequest3
));
204 assertFalse("equals", fRequest2
.equals(fRequest3
));
205 assertFalse("equals", fRequest3
.equals(fRequest1
));
206 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
));
215 public void testEqualsNull() {
216 assertFalse("equals", fRequest1
.equals(null));
217 assertFalse("equals", fRequest2
.equals(null));
220 // ------------------------------------------------------------------------
222 // ------------------------------------------------------------------------
224 public void testHashCode() {
225 assertTrue("hashCode", fRequest1
.hashCode() == fRequest1
.hashCode());
226 assertTrue("hashCode", fRequest2
.hashCode() == fRequest2
.hashCode());
227 assertTrue("hashCode", fRequest1
.hashCode() != fRequest2
.hashCode());
230 // ------------------------------------------------------------------------
232 // ------------------------------------------------------------------------
234 public void testToString() {
235 String expected1
= "[TmfEventRequest(0,TmfEvent," + range1
+ ",0,100,200)]";
236 String expected2
= "[TmfEventRequest(1,TmfEvent," + range2
+ ",0,100,200)]";
237 String expected3
= "[TmfEventRequest(2,TmfEvent," + range2
+ ",0,200,200)]";
238 String expected4
= "[TmfEventRequest(3,TmfEvent," + range2
+ ",0,200,300)]";
240 assertEquals("toString", expected1
, fRequest1
.toString());
241 assertEquals("toString", expected2
, fRequest2
.toString());
242 assertEquals("toString", expected3
, fRequest3
.toString());
243 assertEquals("toString", expected4
, fRequest4
.toString());
246 // ------------------------------------------------------------------------
248 // ------------------------------------------------------------------------
250 public void testDone() {
252 final boolean[] flags
= new boolean[4];
253 TmfEventRequest request
= setupTestRequest(flags
);
256 assertTrue ("isCompleted", request
.isCompleted());
257 assertFalse("isFailed", request
.isFailed());
258 assertFalse("isCancelled", request
.isCancelled());
260 assertTrue ("handleCompleted", flags
[0]);
261 assertTrue ("handleSuccess", flags
[1]);
262 assertFalse("handleFailure", flags
[2]);
263 assertFalse("handleCancel", flags
[3]);
266 // ------------------------------------------------------------------------
268 // ------------------------------------------------------------------------
270 public void testFail() {
272 final boolean[] flags
= new boolean[4];
273 TmfEventRequest request
= setupTestRequest(flags
);
276 assertTrue ("isCompleted", request
.isCompleted());
277 assertTrue ("isFailed", request
.isFailed());
278 assertFalse("isCancelled", request
.isCancelled());
280 assertTrue ("handleCompleted", flags
[0]);
281 assertFalse("handleSuccess", flags
[1]);
282 assertTrue ("handleFailure", flags
[2]);
283 assertFalse("handleCancel", flags
[3]);
286 // ------------------------------------------------------------------------
288 // ------------------------------------------------------------------------
290 public void testCancel() {
292 final boolean[] flags
= new boolean[4];
293 TmfEventRequest request
= setupTestRequest(flags
);
296 assertTrue ("isCompleted", request
.isCompleted());
297 assertFalse("isFailed", request
.isFailed());
298 assertTrue ("isCancelled", request
.isCancelled());
300 assertTrue ("handleCompleted", flags
[0]);
301 assertFalse("handleSuccess", flags
[1]);
302 assertFalse("handleFailure", flags
[2]);
303 assertTrue ("handleCancel", flags
[3]);
306 // ------------------------------------------------------------------------
308 // ------------------------------------------------------------------------