ss: Move plugins to Trace Compass namespace
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.core.tests / src / org / eclipse / linuxtools / tmf / core / tests / request / TmfEventRequestTest.java
CommitLineData
d18dd09b 1/*******************************************************************************
61759503 2 * Copyright (c) 2009, 2013 Ericsson
9b749023 3 *
d18dd09b
ASL
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
9b749023 8 *
d18dd09b
ASL
9 * Contributors:
10 * Francois Chouinard - Initial API and implementation
6e1886bc 11 * Alexandre Montplaisir - Port to JUnit4
d18dd09b
ASL
12 *******************************************************************************/
13
6c13869b 14package org.eclipse.linuxtools.tmf.core.tests.request;
d18dd09b 15
6e1886bc
AM
16import static org.junit.Assert.assertEquals;
17import static org.junit.Assert.assertFalse;
fd3f1eff 18import static org.junit.Assert.assertSame;
6e1886bc 19import static org.junit.Assert.assertTrue;
d18dd09b 20
2771b032 21import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
2740e05c 22import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
6c13869b 23import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
3bd46eef
AM
24import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
25import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
4918b8f2 26import org.eclipse.linuxtools.tmf.tests.stubs.request.TmfEventRequestStub;
6e1886bc
AM
27import org.junit.Before;
28import org.junit.Test;
d18dd09b
ASL
29
30/**
2fb2eb37 31 * Test suite for the TmfEventRequest class.
d18dd09b 32 */
cad06250 33@SuppressWarnings("javadoc")
6e1886bc
AM
34public class TmfEventRequestTest {
35
36 // ------------------------------------------------------------------------
37 // Variables
38 // ------------------------------------------------------------------------
39
40 private static TmfTimeRange range1 = new TmfTimeRange(TmfTimeRange.ETERNITY);
41 private static TmfTimeRange range2 = new TmfTimeRange(new TmfTimestamp(), TmfTimestamp.BIG_CRUNCH);
42
43 private static TmfEventRequest fRequest1;
44 private static TmfEventRequest fRequest1b;
45 private static TmfEventRequest fRequest1c;
46 private static TmfEventRequest fRequest2;
47 private static TmfEventRequest fRequest3;
48 private static TmfEventRequest fRequest4;
49
50 private static int fRequestCount;
51
52 // ------------------------------------------------------------------------
53 // Housekeeping
54 // ------------------------------------------------------------------------
55
56 @Before
57 public void setUp() {
fd3f1eff 58 TmfEventRequest.reset();
6e1886bc
AM
59 fRequest1 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
60 fRequest2 = new TmfEventRequestStub(ITmfEvent.class, range2, 100, 200);
61 fRequest3 = new TmfEventRequestStub(ITmfEvent.class, range2, 200, 200);
62 fRequest4 = new TmfEventRequestStub(ITmfEvent.class, range2, 200, 300);
63 fRequest1b = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
64 fRequest1c = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
65 fRequestCount = fRequest1c.getRequestId() + 1;
66 }
67
68 private static TmfEventRequest setupTestRequest(final boolean[] flags) {
69
70 TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, new TmfTimeRange(TmfTimeRange.ETERNITY), 100, 200) {
71 @Override
72 public void handleCompleted() {
73 super.handleCompleted();
74 flags[0] = true;
75 }
76
77 @Override
78 public void handleSuccess() {
79 super.handleSuccess();
80 flags[1] = true;
81 }
82
83 @Override
84 public void handleFailure() {
85 super.handleFailure();
86 flags[2] = true;
87 }
88
89 @Override
90 public void handleCancel() {
91 super.handleCancel();
92 flags[3] = true;
93 }
94 };
95 return request;
96 }
97
98 // ------------------------------------------------------------------------
99 // Constructors
100 // ------------------------------------------------------------------------
101
102 @Test
103 public void testTmfEventRequest() {
2771b032 104 TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class);
d18dd09b 105
2fb2eb37 106 assertEquals("getRequestId", fRequestCount++, request.getRequestId());
6e1886bc 107 assertEquals("getDataType", ITmfEvent.class, request.getDataType());
2fb2eb37 108
6e1886bc
AM
109 assertEquals("StartTime", TmfTimestamp.BIG_BANG, request.getRange().getStartTime());
110 assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime());
d18dd09b 111
fd3f1eff
AM
112 assertEquals("getRange", TmfTimeRange.ETERNITY, request.getRange());
113 assertSame("getRange", TmfTimeRange.ETERNITY, request.getRange());
114
2fb2eb37 115 assertEquals("getIndex", 0, request.getIndex());
2740e05c 116 assertEquals("getNbRequestedEvents", ITmfEventRequest.ALL_DATA, request.getNbRequested());
2fb2eb37
FC
117
118 assertFalse("isCompleted", request.isCompleted());
119 assertFalse("isFailed", request.isFailed());
120 assertFalse("isCancelled", request.isCancelled());
121
122 assertEquals("getNbRead", 0, request.getNbRead());
6e1886bc 123 }
d18dd09b 124
6e1886bc
AM
125 @Test
126 public void testTmfEventRequestTimeRange() {
a4115405 127 TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(), TmfTimestamp.BIG_CRUNCH);
2771b032 128 TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, range);
d18dd09b 129
2fb2eb37 130 assertEquals("getRequestId", fRequestCount++, request.getRequestId());
2771b032 131 assertEquals("getDataType", ITmfEvent.class, request.getDataType());
2fb2eb37
FC
132
133 assertEquals("StartTime", new TmfTimestamp(), request.getRange().getStartTime());
6e1886bc 134 assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime());
d18dd09b 135
2fb2eb37 136 assertEquals("getIndex", 0, request.getIndex());
2740e05c 137 assertEquals("getNbRequestedEvents", ITmfEventRequest.ALL_DATA, request.getNbRequested());
2fb2eb37
FC
138
139 assertFalse("isCompleted", request.isCompleted());
140 assertFalse("isFailed", request.isFailed());
141 assertFalse("isCancelled", request.isCancelled());
142
143 assertEquals("getNbRead", 0, request.getNbRead());
6e1886bc 144 }
d18dd09b 145
6e1886bc
AM
146 @Test
147 public void testTmfEventRequestTimeRangeNbRequested() {
a4115405 148 TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(), TmfTimestamp.BIG_CRUNCH);
2771b032 149 TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, range, 100);
d18dd09b 150
2fb2eb37 151 assertEquals("getRequestId", fRequestCount++, request.getRequestId());
2771b032 152 assertEquals("getDataType", ITmfEvent.class, request.getDataType());
2fb2eb37
FC
153
154 assertEquals("StartTime", new TmfTimestamp(), request.getRange().getStartTime());
6e1886bc 155 assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime());
d18dd09b 156
2fb2eb37 157 assertEquals("getIndex", 0, request.getIndex());
d18dd09b 158 assertEquals("getNbRequestedEvents", 100, request.getNbRequested());
2fb2eb37
FC
159
160 assertFalse("isCompleted", request.isCompleted());
161 assertFalse("isFailed", request.isFailed());
162 assertFalse("isCancelled", request.isCancelled());
163
164 assertEquals("getNbRead", 0, request.getNbRead());
6e1886bc 165 }
d18dd09b 166
6e1886bc
AM
167 @Test
168 public void testTmfEventRequestTimeRangeNbRequestedBlocksize() {
a4115405 169 TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(), TmfTimestamp.BIG_CRUNCH);
2771b032 170 TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, range, 100, 200);
d18dd09b 171
2fb2eb37 172 assertEquals("getRequestId", fRequestCount++, request.getRequestId());
2771b032 173 assertEquals("getDataType", ITmfEvent.class, request.getDataType());
d18dd09b 174
2fb2eb37 175 assertEquals("StartTime", new TmfTimestamp(), request.getRange().getStartTime());
6e1886bc 176 assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime());
2fb2eb37
FC
177
178 assertEquals("getIndex", 0, request.getIndex());
d18dd09b 179 assertEquals("getNbRequestedEvents", 100, request.getNbRequested());
2fb2eb37
FC
180
181 assertFalse("isCompleted", request.isCompleted());
182 assertFalse("isFailed", request.isFailed());
183 assertFalse("isCancelled", request.isCancelled());
184
185 assertEquals("getNbRead", 0, request.getNbRead());
6e1886bc 186 }
d18dd09b 187
6e1886bc
AM
188 // ------------------------------------------------------------------------
189 // equals
190 // ------------------------------------------------------------------------
951d134a 191
6e1886bc
AM
192 @Test
193 public void testEqualsReflexivity() {
2fb2eb37
FC
194 assertTrue("equals", fRequest1.equals(fRequest1));
195 assertTrue("equals", fRequest2.equals(fRequest2));
196
197 assertFalse("equals", fRequest1.equals(fRequest2));
198 assertFalse("equals", fRequest2.equals(fRequest1));
6e1886bc 199 }
2fb2eb37 200
6e1886bc
AM
201 @Test
202 public void testEqualsSymmetry() {
2fb2eb37
FC
203 assertTrue("equals", fRequest1.equals(fRequest1b));
204 assertTrue("equals", fRequest1b.equals(fRequest1));
205
206 assertFalse("equals", fRequest1.equals(fRequest3));
207 assertFalse("equals", fRequest2.equals(fRequest3));
208 assertFalse("equals", fRequest3.equals(fRequest1));
209 assertFalse("equals", fRequest3.equals(fRequest2));
6e1886bc 210 }
9b749023 211
6e1886bc
AM
212 @Test
213 public void testEqualsTransivity() {
2fb2eb37
FC
214 assertTrue("equals", fRequest1.equals(fRequest1b));
215 assertTrue("equals", fRequest1b.equals(fRequest1c));
216 assertTrue("equals", fRequest1.equals(fRequest1c));
6e1886bc 217 }
9b749023 218
6e1886bc
AM
219 @Test
220 public void testEqualsNull() {
2fb2eb37
FC
221 assertFalse("equals", fRequest1.equals(null));
222 assertFalse("equals", fRequest2.equals(null));
6e1886bc 223 }
2fb2eb37 224
6e1886bc
AM
225 // ------------------------------------------------------------------------
226 // hashCode
227 // ------------------------------------------------------------------------
2fb2eb37 228
6e1886bc
AM
229 @Test
230 public void testHashCode() {
2fb2eb37
FC
231 assertTrue("hashCode", fRequest1.hashCode() == fRequest1.hashCode());
232 assertTrue("hashCode", fRequest2.hashCode() == fRequest2.hashCode());
6e1886bc
AM
233 assertTrue("hashCode", fRequest1.hashCode() != fRequest2.hashCode());
234 }
9b749023 235
6e1886bc
AM
236 // ------------------------------------------------------------------------
237 // toString
238 // ------------------------------------------------------------------------
951d134a 239
6e1886bc
AM
240 @Test
241 public void testToString() {
f4d1e591
AM
242 String expected1 = "[TmfEventRequestStub(0,ITmfEvent,FOREGROUND," + range1 + ",0,100)]";
243 String expected2 = "[TmfEventRequestStub(1,ITmfEvent,FOREGROUND," + range2 + ",0,100)]";
244 String expected3 = "[TmfEventRequestStub(2,ITmfEvent,FOREGROUND," + range2 + ",0,200)]";
245 String expected4 = "[TmfEventRequestStub(3,ITmfEvent,FOREGROUND," + range2 + ",0,200)]";
2fb2eb37
FC
246
247 assertEquals("toString", expected1, fRequest1.toString());
248 assertEquals("toString", expected2, fRequest2.toString());
249 assertEquals("toString", expected3, fRequest3.toString());
250 assertEquals("toString", expected4, fRequest4.toString());
6e1886bc 251 }
951d134a 252
6e1886bc
AM
253 // ------------------------------------------------------------------------
254 // done
255 // ------------------------------------------------------------------------
951d134a 256
6e1886bc
AM
257 @Test
258 public void testDone() {
259 final boolean[] flags = new boolean[4];
260 TmfEventRequest request = setupTestRequest(flags);
261 request.done();
2fb2eb37 262
6e1886bc
AM
263 assertTrue("isCompleted", request.isCompleted());
264 assertFalse("isFailed", request.isFailed());
265 assertFalse("isCancelled", request.isCancelled());
9b749023 266
6e1886bc
AM
267 assertTrue("handleCompleted", flags[0]);
268 assertTrue("handleSuccess", flags[1]);
269 assertFalse("handleFailure", flags[2]);
270 assertFalse("handleCancel", flags[3]);
271 }
2fb2eb37 272
6e1886bc
AM
273 // ------------------------------------------------------------------------
274 // fail
275 // ------------------------------------------------------------------------
2fb2eb37 276
6e1886bc
AM
277 @Test
278 public void testFail() {
279 final boolean[] flags = new boolean[4];
280 TmfEventRequest request = setupTestRequest(flags);
281 request.fail();
2fb2eb37 282
6e1886bc
AM
283 assertTrue("isCompleted", request.isCompleted());
284 assertTrue("isFailed", request.isFailed());
285 assertFalse("isCancelled", request.isCancelled());
2fb2eb37 286
6e1886bc
AM
287 assertTrue("handleCompleted", flags[0]);
288 assertFalse("handleSuccess", flags[1]);
289 assertTrue("handleFailure", flags[2]);
290 assertFalse("handleCancel", flags[3]);
291 }
2fb2eb37 292
6e1886bc
AM
293 // ------------------------------------------------------------------------
294 // cancel
295 // ------------------------------------------------------------------------
2fb2eb37 296
6e1886bc
AM
297 @Test
298 public void testCancel() {
299 final boolean[] flags = new boolean[4];
300 TmfEventRequest request = setupTestRequest(flags);
301 request.cancel();
2fb2eb37 302
6e1886bc
AM
303 assertTrue("isCompleted", request.isCompleted());
304 assertFalse("isFailed", request.isFailed());
305 assertTrue("isCancelled", request.isCancelled());
2fb2eb37 306
6e1886bc
AM
307 assertTrue("handleCompleted", flags[0]);
308 assertFalse("handleSuccess", flags[1]);
309 assertFalse("handleFailure", flags[2]);
310 assertTrue("handleCancel", flags[3]);
311 }
2fb2eb37 312
9b749023 313}
This page took 0.111707 seconds and 5 git commands to generate.