tmf: Consolidate constructors in coalesced requests
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.core.tests / src / org / eclipse / linuxtools / tmf / core / tests / request / TmfDataRequestTest.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;
18import static org.junit.Assert.assertTrue;
d18dd09b 19
2771b032 20import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
6c13869b 21import org.eclipse.linuxtools.tmf.core.request.TmfDataRequest;
4918b8f2 22import org.eclipse.linuxtools.tmf.tests.stubs.request.TmfDataRequestStub;
6e1886bc
AM
23import org.junit.Before;
24import org.junit.Test;
d18dd09b
ASL
25
26/**
2fb2eb37 27 * Test suite for the TmfDataRequest class.
d18dd09b 28 */
cad06250 29@SuppressWarnings("javadoc")
6e1886bc 30public class TmfDataRequestTest {
d18dd09b 31
6e1886bc
AM
32 // ------------------------------------------------------------------------
33 // Variables
34 // ------------------------------------------------------------------------
2fb2eb37 35
6e1886bc
AM
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;
2fb2eb37 42
6e1886bc 43 private static int fRequestCount;
9b749023 44
2fb2eb37 45 // ------------------------------------------------------------------------
6e1886bc
AM
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() {
2771b032 97 TmfDataRequest request = new TmfDataRequestStub(ITmfEvent.class);
d18dd09b 98
2fb2eb37 99 assertEquals("getRequestId", fRequestCount++, request.getRequestId());
6e1886bc 100 assertEquals("getDataType", ITmfEvent.class, request.getDataType());
2fb2eb37
FC
101
102 assertEquals("getIndex", 0, request.getIndex());
e31e01e8 103 assertEquals("getNbRequestedEvents", TmfDataRequest.ALL_DATA, request.getNbRequested());
2fb2eb37
FC
104
105 assertFalse("isCompleted", request.isCompleted());
106 assertFalse("isFailed", request.isFailed());
107 assertFalse("isCancelled", request.isCancelled());
108
109 assertEquals("getNbRead", 0, request.getNbRead());
6e1886bc 110 }
d18dd09b 111
6e1886bc
AM
112 @Test
113 public void testTmfDataRequestIndex() {
2771b032 114 TmfDataRequest request = new TmfDataRequestStub(ITmfEvent.class, 10);
d18dd09b 115
2fb2eb37 116 assertEquals("getRequestId", fRequestCount++, request.getRequestId());
6e1886bc 117 assertEquals("getDataType", ITmfEvent.class, request.getDataType());
2fb2eb37
FC
118
119 assertEquals("getIndex", 10, request.getIndex());
e31e01e8 120 assertEquals("getNbRequestedEvents", TmfDataRequest.ALL_DATA, request.getNbRequested());
2fb2eb37
FC
121
122 assertFalse("isCompleted", request.isCompleted());
123 assertFalse("isFailed", request.isFailed());
124 assertFalse("isCancelled", request.isCancelled());
125
126 assertEquals("getNbRead", 0, request.getNbRead());
6e1886bc 127 }
d18dd09b 128
6e1886bc
AM
129 @Test
130 public void testTmfDataRequestIndexNbRequested() {
2771b032 131 TmfDataRequest request = new TmfDataRequestStub(ITmfEvent.class, 10, 100);
d18dd09b 132
2fb2eb37 133 assertEquals("getRequestId", fRequestCount++, request.getRequestId());
6e1886bc 134 assertEquals("getDataType", ITmfEvent.class, request.getDataType());
2fb2eb37
FC
135
136 assertEquals("getIndex", 10, request.getIndex());
e31e01e8 137 assertEquals("getNbRequestedEvents", 100, 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 testTmfDataRequestIndexNbEventsBlocksize() {
2771b032 148 TmfDataRequest request = new TmfDataRequestStub(ITmfEvent.class, 10, 100, 200);
d18dd09b 149
2fb2eb37 150 assertEquals("getRequestId", fRequestCount++, request.getRequestId());
6e1886bc 151 assertEquals("getDataType", ITmfEvent.class, request.getDataType());
2fb2eb37
FC
152
153 assertEquals("getIndex", 10, request.getIndex());
e31e01e8 154 assertEquals("getNbRequestedEvents", 100, request.getNbRequested());
2fb2eb37
FC
155
156 assertFalse("isCompleted", request.isCompleted());
157 assertFalse("isFailed", request.isFailed());
158 assertFalse("isCancelled", request.isCancelled());
159
160 assertEquals("getNbRead", 0, request.getNbRead());
6e1886bc 161 }
d18dd09b 162
6e1886bc
AM
163 // ------------------------------------------------------------------------
164 // equals
165 // ------------------------------------------------------------------------
951d134a 166
6e1886bc
AM
167 @Test
168 public void testEqualsReflexivity() {
2fb2eb37
FC
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));
6e1886bc 174 }
2fb2eb37 175
6e1886bc
AM
176 @Test
177 public void testEqualsSymmetry() {
2fb2eb37
FC
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));
6e1886bc 185 }
9b749023 186
6e1886bc
AM
187 @Test
188 public void testEqualsTransivity() {
2fb2eb37
FC
189 assertTrue("equals", fRequest1.equals(fRequest1b));
190 assertTrue("equals", fRequest1b.equals(fRequest1c));
191 assertTrue("equals", fRequest1.equals(fRequest1c));
6e1886bc 192 }
9b749023 193
6e1886bc
AM
194 @Test
195 public void testEqualsNull() {
2fb2eb37
FC
196 assertFalse("equals", fRequest1.equals(null));
197 assertFalse("equals", fRequest2.equals(null));
6e1886bc 198 }
2fb2eb37 199
6e1886bc
AM
200 // ------------------------------------------------------------------------
201 // hashCode
202 // ------------------------------------------------------------------------
2fb2eb37 203
6e1886bc
AM
204 @Test
205 public void testHashCode() {
2fb2eb37
FC
206 assertTrue("hashCode", fRequest1.hashCode() == fRequest1.hashCode());
207 assertTrue("hashCode", fRequest2.hashCode() == fRequest2.hashCode());
6e1886bc
AM
208 assertTrue("hashCode", fRequest1.hashCode() != fRequest2.hashCode());
209 }
9b749023 210
6e1886bc
AM
211 // ------------------------------------------------------------------------
212 // toString
213 // ------------------------------------------------------------------------
2fb2eb37 214
6e1886bc
AM
215 @Test
216 public void testToString() {
2771b032
AM
217 String expected1 = "[TmfDataRequest(0,ITmfEvent,10,100,200)]";
218 String expected2 = "[TmfDataRequest(1,ITmfEvent,20,100,200)]";
219 String expected3 = "[TmfDataRequest(2,ITmfEvent,20,200,200)]";
220 String expected4 = "[TmfDataRequest(3,ITmfEvent,20,200,300)]";
2fb2eb37
FC
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());
6e1886bc 226 }
2fb2eb37 227
6e1886bc
AM
228 // ------------------------------------------------------------------------
229 // done
230 // ------------------------------------------------------------------------
951d134a 231
6e1886bc
AM
232 @Test
233 public void testDone() {
234 final boolean[] flags = new boolean[4];
235 TmfDataRequest request = setupTestRequest(flags);
236 request.done();
951d134a 237
6e1886bc
AM
238 assertTrue("isCompleted", request.isCompleted());
239 assertFalse("isFailed", request.isFailed());
240 assertFalse("isCancelled", request.isCancelled());
9b749023 241
6e1886bc
AM
242 assertTrue("handleCompleted", flags[0]);
243 assertTrue("handleSuccess", flags[1]);
244 assertFalse("handleFailure", flags[2]);
245 assertFalse("handleCancel", flags[3]);
246 }
951d134a 247
6e1886bc
AM
248 // ------------------------------------------------------------------------
249 // fail
250 // ------------------------------------------------------------------------
2fb2eb37 251
6e1886bc
AM
252 @Test
253 public void testFail() {
254 final boolean[] flags = new boolean[4];
255 TmfDataRequest request = setupTestRequest(flags);
256 request.fail();
951d134a 257
6e1886bc
AM
258 assertTrue("isCompleted", request.isCompleted());
259 assertTrue("isFailed", request.isFailed());
260 assertFalse("isCancelled", request.isCancelled());
2fb2eb37 261
6e1886bc
AM
262 assertTrue("handleCompleted", flags[0]);
263 assertFalse("handleSuccess", flags[1]);
264 assertTrue("handleFailure", flags[2]);
265 assertFalse("handleCancel", flags[3]);
266 }
2fb2eb37 267
6e1886bc
AM
268 // ------------------------------------------------------------------------
269 // cancel
270 // ------------------------------------------------------------------------
2fb2eb37 271
6e1886bc
AM
272 @Test
273 public void testCancel() {
274 final boolean[] flags = new boolean[4];
275 TmfDataRequest request = setupTestRequest(flags);
276 request.cancel();
951d134a 277
6e1886bc
AM
278 assertTrue("isCompleted", request.isCompleted());
279 assertFalse("isFailed", request.isFailed());
280 assertTrue("isCancelled", request.isCancelled());
951d134a 281
6e1886bc
AM
282 assertTrue("handleCompleted", flags[0]);
283 assertFalse("handleSuccess", flags[1]);
284 assertFalse("handleFailure", flags[2]);
285 assertTrue("handleCancel", flags[3]);
286 }
2fb2eb37 287
9b749023 288}
This page took 0.05672 seconds and 5 git commands to generate.