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