Commit | Line | Data |
---|---|---|
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 | 14 | package org.eclipse.linuxtools.tmf.core.tests.request; |
d18dd09b | 15 | |
6e1886bc AM |
16 | import static org.junit.Assert.assertEquals; |
17 | import static org.junit.Assert.assertFalse; | |
18 | import static org.junit.Assert.assertTrue; | |
d18dd09b | 19 | |
2771b032 | 20 | import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; |
6c13869b | 21 | import org.eclipse.linuxtools.tmf.core.request.TmfDataRequest; |
4918b8f2 | 22 | import org.eclipse.linuxtools.tmf.tests.stubs.request.TmfDataRequestStub; |
6e1886bc AM |
23 | import org.junit.Before; |
24 | import org.junit.Test; | |
d18dd09b ASL |
25 | |
26 | /** | |
2fb2eb37 | 27 | * Test suite for the TmfDataRequest class. |
d18dd09b | 28 | */ |
cad06250 | 29 | @SuppressWarnings("javadoc") |
6e1886bc | 30 | public 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 | } |