Commit | Line | Data |
---|---|---|
d18dd09b | 1 | /******************************************************************************* |
ed902a2b | 2 | * Copyright (c) 2009, 2015 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 | ||
2bdf0193 | 14 | package org.eclipse.tracecompass.tmf.core.tests.request; |
d18dd09b | 15 | |
6e1886bc AM |
16 | import static org.junit.Assert.assertEquals; |
17 | import static org.junit.Assert.assertFalse; | |
fd3f1eff | 18 | import static org.junit.Assert.assertSame; |
6e1886bc | 19 | import static org.junit.Assert.assertTrue; |
d18dd09b | 20 | |
2bdf0193 AM |
21 | import org.eclipse.tracecompass.tmf.core.event.ITmfEvent; |
22 | import org.eclipse.tracecompass.tmf.core.request.ITmfEventRequest; | |
23 | import org.eclipse.tracecompass.tmf.core.request.TmfEventRequest; | |
24 | import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange; | |
25 | import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp; | |
26 | import org.eclipse.tracecompass.tmf.tests.stubs.request.TmfEventRequestStub; | |
6e1886bc AM |
27 | import org.junit.Before; |
28 | import org.junit.Test; | |
d18dd09b ASL |
29 | |
30 | /** | |
2fb2eb37 | 31 | * Test suite for the TmfEventRequest class. |
d18dd09b | 32 | */ |
cad06250 | 33 | @SuppressWarnings("javadoc") |
6e1886bc AM |
34 | public class TmfEventRequestTest { |
35 | ||
36 | // ------------------------------------------------------------------------ | |
37 | // Variables | |
38 | // ------------------------------------------------------------------------ | |
39 | ||
b8e2854f | 40 | private static TmfTimeRange range1 = TmfTimeRange.ETERNITY; |
6e1886bc AM |
41 | private static TmfTimeRange range2 = new TmfTimeRange(new TmfTimestamp(), TmfTimestamp.BIG_CRUNCH); |
42 | ||
43 | private static TmfEventRequest fRequest1; | |
6e1886bc AM |
44 | private static TmfEventRequest fRequest2; |
45 | private static TmfEventRequest fRequest3; | |
46 | private static TmfEventRequest fRequest4; | |
47 | ||
6e1886bc AM |
48 | // ------------------------------------------------------------------------ |
49 | // Housekeeping | |
50 | // ------------------------------------------------------------------------ | |
51 | ||
52 | @Before | |
53 | public void setUp() { | |
6e1886bc AM |
54 | fRequest1 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200); |
55 | fRequest2 = new TmfEventRequestStub(ITmfEvent.class, range2, 100, 200); | |
56 | fRequest3 = new TmfEventRequestStub(ITmfEvent.class, range2, 200, 200); | |
57 | fRequest4 = new TmfEventRequestStub(ITmfEvent.class, range2, 200, 300); | |
6e1886bc AM |
58 | } |
59 | ||
60 | private static TmfEventRequest setupTestRequest(final boolean[] flags) { | |
61 | ||
b8e2854f | 62 | TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, TmfTimeRange.ETERNITY, 100, 200) { |
6e1886bc AM |
63 | @Override |
64 | public void handleCompleted() { | |
65 | super.handleCompleted(); | |
66 | flags[0] = true; | |
67 | } | |
68 | ||
69 | @Override | |
70 | public void handleSuccess() { | |
71 | super.handleSuccess(); | |
72 | flags[1] = true; | |
73 | } | |
74 | ||
75 | @Override | |
76 | public void handleFailure() { | |
77 | super.handleFailure(); | |
78 | flags[2] = true; | |
79 | } | |
80 | ||
81 | @Override | |
82 | public void handleCancel() { | |
83 | super.handleCancel(); | |
84 | flags[3] = true; | |
85 | } | |
86 | }; | |
87 | return request; | |
88 | } | |
89 | ||
90 | // ------------------------------------------------------------------------ | |
91 | // Constructors | |
92 | // ------------------------------------------------------------------------ | |
93 | ||
94 | @Test | |
95 | public void testTmfEventRequest() { | |
2771b032 | 96 | TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class); |
d18dd09b | 97 | |
6e1886bc | 98 | assertEquals("getDataType", ITmfEvent.class, request.getDataType()); |
2fb2eb37 | 99 | |
6e1886bc AM |
100 | assertEquals("StartTime", TmfTimestamp.BIG_BANG, request.getRange().getStartTime()); |
101 | assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime()); | |
d18dd09b | 102 | |
fd3f1eff AM |
103 | assertEquals("getRange", TmfTimeRange.ETERNITY, request.getRange()); |
104 | assertSame("getRange", TmfTimeRange.ETERNITY, request.getRange()); | |
105 | ||
2fb2eb37 | 106 | assertEquals("getIndex", 0, request.getIndex()); |
2740e05c | 107 | assertEquals("getNbRequestedEvents", ITmfEventRequest.ALL_DATA, request.getNbRequested()); |
2fb2eb37 FC |
108 | |
109 | assertFalse("isCompleted", request.isCompleted()); | |
110 | assertFalse("isFailed", request.isFailed()); | |
111 | assertFalse("isCancelled", request.isCancelled()); | |
112 | ||
113 | assertEquals("getNbRead", 0, request.getNbRead()); | |
6e1886bc | 114 | } |
d18dd09b | 115 | |
6e1886bc AM |
116 | @Test |
117 | public void testTmfEventRequestTimeRange() { | |
a4115405 | 118 | TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(), TmfTimestamp.BIG_CRUNCH); |
2771b032 | 119 | TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, range); |
d18dd09b | 120 | |
2771b032 | 121 | assertEquals("getDataType", ITmfEvent.class, request.getDataType()); |
2fb2eb37 FC |
122 | |
123 | assertEquals("StartTime", new TmfTimestamp(), request.getRange().getStartTime()); | |
6e1886bc | 124 | assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime()); |
d18dd09b | 125 | |
2fb2eb37 | 126 | assertEquals("getIndex", 0, request.getIndex()); |
2740e05c | 127 | assertEquals("getNbRequestedEvents", ITmfEventRequest.ALL_DATA, request.getNbRequested()); |
2fb2eb37 FC |
128 | |
129 | assertFalse("isCompleted", request.isCompleted()); | |
130 | assertFalse("isFailed", request.isFailed()); | |
131 | assertFalse("isCancelled", request.isCancelled()); | |
132 | ||
133 | assertEquals("getNbRead", 0, request.getNbRead()); | |
6e1886bc | 134 | } |
d18dd09b | 135 | |
6e1886bc AM |
136 | @Test |
137 | public void testTmfEventRequestTimeRangeNbRequested() { | |
a4115405 | 138 | TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(), TmfTimestamp.BIG_CRUNCH); |
2771b032 | 139 | TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, range, 100); |
d18dd09b | 140 | |
2771b032 | 141 | assertEquals("getDataType", ITmfEvent.class, request.getDataType()); |
2fb2eb37 FC |
142 | |
143 | assertEquals("StartTime", new TmfTimestamp(), request.getRange().getStartTime()); | |
6e1886bc | 144 | assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime()); |
d18dd09b | 145 | |
2fb2eb37 | 146 | assertEquals("getIndex", 0, request.getIndex()); |
d18dd09b | 147 | assertEquals("getNbRequestedEvents", 100, request.getNbRequested()); |
2fb2eb37 FC |
148 | |
149 | assertFalse("isCompleted", request.isCompleted()); | |
150 | assertFalse("isFailed", request.isFailed()); | |
151 | assertFalse("isCancelled", request.isCancelled()); | |
152 | ||
153 | assertEquals("getNbRead", 0, request.getNbRead()); | |
6e1886bc | 154 | } |
d18dd09b | 155 | |
6e1886bc AM |
156 | @Test |
157 | public void testTmfEventRequestTimeRangeNbRequestedBlocksize() { | |
a4115405 | 158 | TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(), TmfTimestamp.BIG_CRUNCH); |
2771b032 | 159 | TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, range, 100, 200); |
d18dd09b | 160 | |
2771b032 | 161 | assertEquals("getDataType", ITmfEvent.class, request.getDataType()); |
d18dd09b | 162 | |
2fb2eb37 | 163 | assertEquals("StartTime", new TmfTimestamp(), request.getRange().getStartTime()); |
6e1886bc | 164 | assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime()); |
2fb2eb37 FC |
165 | |
166 | assertEquals("getIndex", 0, request.getIndex()); | |
d18dd09b | 167 | assertEquals("getNbRequestedEvents", 100, request.getNbRequested()); |
2fb2eb37 FC |
168 | |
169 | assertFalse("isCompleted", request.isCompleted()); | |
170 | assertFalse("isFailed", request.isFailed()); | |
171 | assertFalse("isCancelled", request.isCancelled()); | |
172 | ||
173 | assertEquals("getNbRead", 0, request.getNbRead()); | |
6e1886bc | 174 | } |
d18dd09b | 175 | |
6e1886bc AM |
176 | // ------------------------------------------------------------------------ |
177 | // equals | |
178 | // ------------------------------------------------------------------------ | |
951d134a | 179 | |
6e1886bc | 180 | @Test |
788f835b AM |
181 | public void testEquals() { |
182 | /* | |
183 | * No two different requests should be "equal", even if they used the | |
184 | * same constructor parameters. | |
185 | */ | |
186 | assertTrue(fRequest1.equals(fRequest1)); | |
187 | assertFalse(fRequest1.equals(fRequest2)); | |
188 | assertFalse(fRequest1.equals(fRequest3)); | |
189 | assertFalse(fRequest1.equals(fRequest4)); | |
6e1886bc | 190 | } |
9b749023 | 191 | |
6e1886bc AM |
192 | // ------------------------------------------------------------------------ |
193 | // toString | |
194 | // ------------------------------------------------------------------------ | |
951d134a | 195 | |
6e1886bc AM |
196 | @Test |
197 | public void testToString() { | |
788f835b AM |
198 | String expected1 = "[TmfEventRequestStub(" + fRequest1.getRequestId() + ",ITmfEvent,FOREGROUND," + range1 + ",0,100)]"; |
199 | String expected2 = "[TmfEventRequestStub(" + fRequest2.getRequestId() + ",ITmfEvent,FOREGROUND," + range2 + ",0,100)]"; | |
200 | String expected3 = "[TmfEventRequestStub(" + fRequest3.getRequestId() + ",ITmfEvent,FOREGROUND," + range2 + ",0,200)]"; | |
201 | String expected4 = "[TmfEventRequestStub(" + fRequest4.getRequestId() + ",ITmfEvent,FOREGROUND," + range2 + ",0,200)]"; | |
2fb2eb37 FC |
202 | |
203 | assertEquals("toString", expected1, fRequest1.toString()); | |
204 | assertEquals("toString", expected2, fRequest2.toString()); | |
205 | assertEquals("toString", expected3, fRequest3.toString()); | |
206 | assertEquals("toString", expected4, fRequest4.toString()); | |
6e1886bc | 207 | } |
951d134a | 208 | |
6e1886bc AM |
209 | // ------------------------------------------------------------------------ |
210 | // done | |
211 | // ------------------------------------------------------------------------ | |
951d134a | 212 | |
6e1886bc AM |
213 | @Test |
214 | public void testDone() { | |
215 | final boolean[] flags = new boolean[4]; | |
216 | TmfEventRequest request = setupTestRequest(flags); | |
217 | request.done(); | |
2fb2eb37 | 218 | |
6e1886bc AM |
219 | assertTrue("isCompleted", request.isCompleted()); |
220 | assertFalse("isFailed", request.isFailed()); | |
221 | assertFalse("isCancelled", request.isCancelled()); | |
9b749023 | 222 | |
6e1886bc AM |
223 | assertTrue("handleCompleted", flags[0]); |
224 | assertTrue("handleSuccess", flags[1]); | |
225 | assertFalse("handleFailure", flags[2]); | |
226 | assertFalse("handleCancel", flags[3]); | |
227 | } | |
2fb2eb37 | 228 | |
6e1886bc AM |
229 | // ------------------------------------------------------------------------ |
230 | // fail | |
231 | // ------------------------------------------------------------------------ | |
2fb2eb37 | 232 | |
6e1886bc AM |
233 | @Test |
234 | public void testFail() { | |
235 | final boolean[] flags = new boolean[4]; | |
236 | TmfEventRequest request = setupTestRequest(flags); | |
237 | request.fail(); | |
2fb2eb37 | 238 | |
6e1886bc AM |
239 | assertTrue("isCompleted", request.isCompleted()); |
240 | assertTrue("isFailed", request.isFailed()); | |
241 | assertFalse("isCancelled", request.isCancelled()); | |
2fb2eb37 | 242 | |
6e1886bc AM |
243 | assertTrue("handleCompleted", flags[0]); |
244 | assertFalse("handleSuccess", flags[1]); | |
245 | assertTrue("handleFailure", flags[2]); | |
246 | assertFalse("handleCancel", flags[3]); | |
247 | } | |
2fb2eb37 | 248 | |
6e1886bc AM |
249 | // ------------------------------------------------------------------------ |
250 | // cancel | |
251 | // ------------------------------------------------------------------------ | |
2fb2eb37 | 252 | |
6e1886bc AM |
253 | @Test |
254 | public void testCancel() { | |
255 | final boolean[] flags = new boolean[4]; | |
256 | TmfEventRequest request = setupTestRequest(flags); | |
257 | request.cancel(); | |
2fb2eb37 | 258 | |
6e1886bc AM |
259 | assertTrue("isCompleted", request.isCompleted()); |
260 | assertFalse("isFailed", request.isFailed()); | |
261 | assertTrue("isCancelled", request.isCancelled()); | |
2fb2eb37 | 262 | |
6e1886bc AM |
263 | assertTrue("handleCompleted", flags[0]); |
264 | assertFalse("handleSuccess", flags[1]); | |
265 | assertFalse("handleFailure", flags[2]); | |
266 | assertTrue("handleCancel", flags[3]); | |
267 | } | |
2fb2eb37 | 268 | |
9b749023 | 269 | } |