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
CommitLineData
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 14package org.eclipse.tracecompass.tmf.core.tests.request;
d18dd09b 15
6e1886bc
AM
16import static org.junit.Assert.assertEquals;
17import static org.junit.Assert.assertFalse;
fd3f1eff 18import static org.junit.Assert.assertSame;
6e1886bc 19import static org.junit.Assert.assertTrue;
d18dd09b 20
2bdf0193
AM
21import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
22import org.eclipse.tracecompass.tmf.core.request.ITmfEventRequest;
23import org.eclipse.tracecompass.tmf.core.request.TmfEventRequest;
24import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange;
25import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
26import org.eclipse.tracecompass.tmf.tests.stubs.request.TmfEventRequestStub;
6e1886bc
AM
27import org.junit.Before;
28import org.junit.Test;
d18dd09b
ASL
29
30/**
2fb2eb37 31 * Test suite for the TmfEventRequest class.
d18dd09b 32 */
cad06250 33@SuppressWarnings("javadoc")
6e1886bc
AM
34public class TmfEventRequestTest {
35
36 // ------------------------------------------------------------------------
37 // Variables
38 // ------------------------------------------------------------------------
39
b8e2854f 40 private static TmfTimeRange range1 = TmfTimeRange.ETERNITY;
b2c971ec 41 private static TmfTimeRange range2 = new TmfTimeRange(TmfTimestamp.fromSeconds(0), TmfTimestamp.BIG_CRUNCH);
6e1886bc
AM
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() {
b2c971ec 118 TmfTimeRange range = new TmfTimeRange(TmfTimestamp.fromSeconds(0), TmfTimestamp.BIG_CRUNCH);
2771b032 119 TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, range);
d18dd09b 120
2771b032 121 assertEquals("getDataType", ITmfEvent.class, request.getDataType());
2fb2eb37 122
b2c971ec 123 assertEquals("StartTime", TmfTimestamp.fromSeconds(0), 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() {
b2c971ec 138 TmfTimeRange range = new TmfTimeRange(TmfTimestamp.fromSeconds(0), TmfTimestamp.BIG_CRUNCH);
2771b032 139 TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, range, 100);
d18dd09b 140
2771b032 141 assertEquals("getDataType", ITmfEvent.class, request.getDataType());
2fb2eb37 142
b2c971ec 143 assertEquals("StartTime", TmfTimestamp.fromSeconds(0), 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() {
b2c971ec 158 TmfTimeRange range = new TmfTimeRange(TmfTimestamp.fromSeconds(0), 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
b2c971ec 163 assertEquals("StartTime", TmfTimestamp.fromSeconds(0), 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}
This page took 0.180972 seconds and 5 git commands to generate.