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