tmf.core: Introduce TmfTimestamp factory methods
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.core.tests / src / org / eclipse / tracecompass / tmf / core / tests / request / TmfEventRequestTest.java
1 /*******************************************************************************
2 * Copyright (c) 2009, 2015 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.tracecompass.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.assertSame;
19 import static org.junit.Assert.assertTrue;
20
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;
27 import org.junit.Before;
28 import org.junit.Test;
29
30 /**
31 * Test suite for the TmfEventRequest class.
32 */
33 @SuppressWarnings("javadoc")
34 public class TmfEventRequestTest {
35
36 // ------------------------------------------------------------------------
37 // Variables
38 // ------------------------------------------------------------------------
39
40 private static TmfTimeRange range1 = TmfTimeRange.ETERNITY;
41 private static TmfTimeRange range2 = new TmfTimeRange(TmfTimestamp.fromSeconds(0), TmfTimestamp.BIG_CRUNCH);
42
43 private static TmfEventRequest fRequest1;
44 private static TmfEventRequest fRequest2;
45 private static TmfEventRequest fRequest3;
46 private static TmfEventRequest fRequest4;
47
48 // ------------------------------------------------------------------------
49 // Housekeeping
50 // ------------------------------------------------------------------------
51
52 @Before
53 public void setUp() {
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);
58 }
59
60 private static TmfEventRequest setupTestRequest(final boolean[] flags) {
61
62 TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, TmfTimeRange.ETERNITY, 100, 200) {
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() {
96 TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class);
97
98 assertEquals("getDataType", ITmfEvent.class, request.getDataType());
99
100 assertEquals("StartTime", TmfTimestamp.BIG_BANG, request.getRange().getStartTime());
101 assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime());
102
103 assertEquals("getRange", TmfTimeRange.ETERNITY, request.getRange());
104 assertSame("getRange", TmfTimeRange.ETERNITY, request.getRange());
105
106 assertEquals("getIndex", 0, request.getIndex());
107 assertEquals("getNbRequestedEvents", ITmfEventRequest.ALL_DATA, request.getNbRequested());
108
109 assertFalse("isCompleted", request.isCompleted());
110 assertFalse("isFailed", request.isFailed());
111 assertFalse("isCancelled", request.isCancelled());
112
113 assertEquals("getNbRead", 0, request.getNbRead());
114 }
115
116 @Test
117 public void testTmfEventRequestTimeRange() {
118 TmfTimeRange range = new TmfTimeRange(TmfTimestamp.fromSeconds(0), TmfTimestamp.BIG_CRUNCH);
119 TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, range);
120
121 assertEquals("getDataType", ITmfEvent.class, request.getDataType());
122
123 assertEquals("StartTime", TmfTimestamp.fromSeconds(0), request.getRange().getStartTime());
124 assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime());
125
126 assertEquals("getIndex", 0, request.getIndex());
127 assertEquals("getNbRequestedEvents", ITmfEventRequest.ALL_DATA, request.getNbRequested());
128
129 assertFalse("isCompleted", request.isCompleted());
130 assertFalse("isFailed", request.isFailed());
131 assertFalse("isCancelled", request.isCancelled());
132
133 assertEquals("getNbRead", 0, request.getNbRead());
134 }
135
136 @Test
137 public void testTmfEventRequestTimeRangeNbRequested() {
138 TmfTimeRange range = new TmfTimeRange(TmfTimestamp.fromSeconds(0), TmfTimestamp.BIG_CRUNCH);
139 TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, range, 100);
140
141 assertEquals("getDataType", ITmfEvent.class, request.getDataType());
142
143 assertEquals("StartTime", TmfTimestamp.fromSeconds(0), request.getRange().getStartTime());
144 assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime());
145
146 assertEquals("getIndex", 0, request.getIndex());
147 assertEquals("getNbRequestedEvents", 100, request.getNbRequested());
148
149 assertFalse("isCompleted", request.isCompleted());
150 assertFalse("isFailed", request.isFailed());
151 assertFalse("isCancelled", request.isCancelled());
152
153 assertEquals("getNbRead", 0, request.getNbRead());
154 }
155
156 @Test
157 public void testTmfEventRequestTimeRangeNbRequestedBlocksize() {
158 TmfTimeRange range = new TmfTimeRange(TmfTimestamp.fromSeconds(0), TmfTimestamp.BIG_CRUNCH);
159 TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, range, 100, 200);
160
161 assertEquals("getDataType", ITmfEvent.class, request.getDataType());
162
163 assertEquals("StartTime", TmfTimestamp.fromSeconds(0), request.getRange().getStartTime());
164 assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime());
165
166 assertEquals("getIndex", 0, request.getIndex());
167 assertEquals("getNbRequestedEvents", 100, request.getNbRequested());
168
169 assertFalse("isCompleted", request.isCompleted());
170 assertFalse("isFailed", request.isFailed());
171 assertFalse("isCancelled", request.isCancelled());
172
173 assertEquals("getNbRead", 0, request.getNbRead());
174 }
175
176 // ------------------------------------------------------------------------
177 // equals
178 // ------------------------------------------------------------------------
179
180 @Test
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));
190 }
191
192 // ------------------------------------------------------------------------
193 // toString
194 // ------------------------------------------------------------------------
195
196 @Test
197 public void testToString() {
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)]";
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());
207 }
208
209 // ------------------------------------------------------------------------
210 // done
211 // ------------------------------------------------------------------------
212
213 @Test
214 public void testDone() {
215 final boolean[] flags = new boolean[4];
216 TmfEventRequest request = setupTestRequest(flags);
217 request.done();
218
219 assertTrue("isCompleted", request.isCompleted());
220 assertFalse("isFailed", request.isFailed());
221 assertFalse("isCancelled", request.isCancelled());
222
223 assertTrue("handleCompleted", flags[0]);
224 assertTrue("handleSuccess", flags[1]);
225 assertFalse("handleFailure", flags[2]);
226 assertFalse("handleCancel", flags[3]);
227 }
228
229 // ------------------------------------------------------------------------
230 // fail
231 // ------------------------------------------------------------------------
232
233 @Test
234 public void testFail() {
235 final boolean[] flags = new boolean[4];
236 TmfEventRequest request = setupTestRequest(flags);
237 request.fail();
238
239 assertTrue("isCompleted", request.isCompleted());
240 assertTrue("isFailed", request.isFailed());
241 assertFalse("isCancelled", request.isCancelled());
242
243 assertTrue("handleCompleted", flags[0]);
244 assertFalse("handleSuccess", flags[1]);
245 assertTrue("handleFailure", flags[2]);
246 assertFalse("handleCancel", flags[3]);
247 }
248
249 // ------------------------------------------------------------------------
250 // cancel
251 // ------------------------------------------------------------------------
252
253 @Test
254 public void testCancel() {
255 final boolean[] flags = new boolean[4];
256 TmfEventRequest request = setupTestRequest(flags);
257 request.cancel();
258
259 assertTrue("isCompleted", request.isCompleted());
260 assertFalse("isFailed", request.isFailed());
261 assertTrue("isCancelled", request.isCancelled());
262
263 assertTrue("handleCompleted", flags[0]);
264 assertFalse("handleSuccess", flags[1]);
265 assertFalse("handleFailure", flags[2]);
266 assertTrue("handleCancel", flags[3]);
267 }
268
269 }
This page took 0.046538 seconds and 5 git commands to generate.