lttng: Port unit tests to JUnit4
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng2.ui.tests / src / org / eclipse / linuxtools / lttng2 / ui / tests / control / model / component / TraceControlComponentTest.java
1 /**********************************************************************
2 * Copyright (c) 2012, 2013 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 * Bernd Hufmann - Initial API and implementation
11 * Alexandre Montplaisir - Port to JUnit4
12 **********************************************************************/
13
14 package org.eclipse.linuxtools.lttng2.ui.tests.control.model.component;
15
16 import static org.junit.Assert.*;
17
18 import java.util.LinkedList;
19 import java.util.List;
20
21 import org.eclipse.core.commands.ExecutionException;
22 import org.eclipse.linuxtools.internal.lttng2.core.control.model.TargetNodeState;
23 import org.eclipse.linuxtools.internal.lttng2.stubs.service.TestRemoteSystemProxy;
24 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.ControlView;
25 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.ITraceControlComponent;
26 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.ITraceControlComponentChangedListener;
27 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceControlComponent;
28 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceControlRoot;
29 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.service.ILttngControlService;
30 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.service.LTTngControlService;
31 import org.eclipse.swt.graphics.Image;
32 import org.eclipse.ui.ISharedImages;
33 import org.eclipse.ui.PlatformUI;
34 import org.junit.Test;
35
36 /**
37 * The class <code>TraceControlComponentTest</code> contains tests for the class
38 * <code>{@link TraceControlComponent}</code>.
39 */
40 @SuppressWarnings("nls")
41 public class TraceControlComponentTest {
42
43 /**
44 * Run the TraceControlComponent(String) constructor test.
45 */
46 @Test
47 public void testTraceControlComponent_1() {
48
49 String name = "node";
50
51 TraceControlComponent result = new TraceControlComponent(name);
52
53 assertNotNull(result);
54 assertEquals(name, result.getName());
55 assertEquals(null, result.getParent());
56 assertEquals(false, result.hasChildren());
57 assertEquals(null, result.getImage());
58 assertEquals(null, result.getControlService());
59 assertEquals(null, result.getToolTip());
60 }
61
62 /**
63 * Run the TraceControlComponent(String,ITraceControlComponent) constructor test.
64 */
65 @Test
66 public void testTraceControlComponent_2() {
67 String name = "node";
68
69 ITraceControlComponent parent = new TraceControlRoot();
70 TraceControlComponent result = new TraceControlComponent(name, parent);
71
72 assertNotNull(result);
73 assertEquals(name, result.getName());
74 assertEquals(false, result.hasChildren());
75 assertEquals(null, result.getImage());
76 assertEquals(null, result.getControlService());
77 assertEquals(null, result.getToolTip());
78 }
79
80 /**
81 * Run the void addChild(ITraceControlComponent) method test.
82 */
83 @Test
84 public void testAddAndGetChild1() {
85 TraceControlComponent fixture = new TraceControlComponent("node", new TraceControlRoot());
86 fixture.setToolTip("This is the test node");
87 fixture.addChild(new TraceControlRoot());
88 ITraceControlComponent component = new TraceControlRoot();
89 fixture.addChild(component);
90
91 ITraceControlComponent child = fixture.getChild(TraceControlRoot.TRACE_CONTROL_ROOT_NAME);
92 assertNotNull(child);
93 assertEquals(TraceControlRoot.TRACE_CONTROL_ROOT_NAME, child.getName());
94 }
95
96 /**
97 * Run the void addChild(ITraceControlComponent) method test.
98 */
99 @Test
100 public void testAddAndGetChild2() {
101 TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
102 fixture.setToolTip("");
103 ITraceControlComponent component = null;
104
105 fixture.addChild(component);
106 assertFalse(fixture.hasChildren());
107 }
108
109 /**
110 * Run the void addComponentListener(ITraceControlComponentChangedListener) method test.
111 */
112 @Test
113 public void testAddComponentListener_1() {
114 TraceControlComponent fixture = new TraceControlComponent("", (ITraceControlComponent) null);
115 fixture.setToolTip("");
116
117 ListenerValidator validator = new ListenerValidator();
118 fixture.addComponentListener(validator);
119
120 TraceControlRoot root = new TraceControlRoot();
121 fixture.addChild(root);
122 assertTrue(validator.isAddedCalled());
123
124 fixture.removeChild(root);
125 assertTrue(validator.isRemovedCalled());
126
127 fixture.fireComponentChanged(fixture);
128 assertTrue(validator.isChangedCalled());
129 }
130
131 /**
132 * Run the boolean containsChild(String) method test.
133 */
134 @Test
135 public void testContainsChild_1() {
136 TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
137 fixture.setToolTip("");
138 fixture.addChild(new TraceControlRoot());
139 String name = "node";
140
141 boolean result = fixture.containsChild(name);
142
143 assertEquals(false, result);
144 }
145
146 /**
147 * Run the boolean containsChild(String) method test.
148 */
149 @Test
150 public void testContainsChild_2() {
151 TraceControlComponent fixture = new TraceControlComponent("name", new TraceControlRoot());
152 fixture.setToolTip("");
153
154 boolean result = fixture.containsChild(TraceControlRoot.TRACE_CONTROL_ROOT_NAME);
155
156 assertEquals(false, result);
157 }
158
159 /**
160 * Run the void fireCompenentAdded(ITraceControlComponent,ITraceControlComponent) method test.
161 * Run the void fireCompenentRemoved(ITraceControlComponent,ITraceControlComponent) method test.
162 * Run the void fireCompenentChanged(ITraceControlComponent) method test
163 */
164 @Test
165 public void testFireCompenentUpdated() {
166 ITraceControlComponent parent = new TraceControlRoot();
167
168 TraceControlComponent fixture = new TraceControlComponent("node", parent);
169 fixture.setToolTip("");
170
171 ITraceControlComponent component = new TraceControlComponent("child");
172 fixture.addChild(component);
173
174 ListenerValidator validator = new ListenerValidator();
175 fixture.addComponentListener(validator);
176
177 fixture.fireComponentAdded(parent, component);
178 assertTrue(validator.isAddedCalled());
179 assertEquals(parent.getName(), validator.getSavedParent().getName());
180 assertEquals(component.getName(), validator.getSavedChild().getName());
181
182 validator.initialize();
183
184 fixture.fireComponentRemoved(parent, component);
185 assertTrue(validator.isRemovedCalled());
186 assertEquals(parent.getName(), validator.getSavedParent().getName());
187 assertEquals(component.getName(), validator.getSavedChild().getName());
188
189 validator.initialize();
190 fixture.fireComponentChanged(fixture);
191 assertTrue(validator.isChangedCalled());
192 assertEquals(fixture.getName(), validator.getSavedComponent().getName());
193 }
194
195 /**
196 * Run the Object getAdapter(Class) method test.
197 */
198 @Test
199 public void testGetAdapter() {
200 TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
201 fixture.setToolTip("");
202 fixture.addChild(new TraceControlRoot());
203 Class<Object> adapter = Object.class;
204
205 Object result = fixture.getAdapter(adapter);
206
207 assertEquals(null, result);
208 }
209
210 /**
211 * Run the ITraceControlComponent[] getChildren() method test.
212 */
213 @Test
214 public void testGetChildren_1() {
215 TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
216 fixture.setToolTip("");
217 fixture.addChild(new TraceControlRoot());
218
219 ITraceControlComponent[] result = fixture.getChildren();
220
221 assertNotNull(result);
222 assertEquals(1, result.length);
223 assertNotNull(result[0]);
224 assertEquals("trace_control_root", result[0].getName());
225 assertEquals(null, result[0].getParent());
226 assertEquals(false, result[0].hasChildren());
227 assertEquals(null, result[0].getImage());
228 assertEquals(null, result[0].getControlService());
229 assertEquals(null, result[0].getToolTip());
230 }
231
232 /**
233 * Run the ILttngControlService getControlService()/setControlService()
234 * method test.
235 *
236 * @throws ExecutionException
237 * Would fail the test
238 */
239 @Test
240 public void testGetAndSetControlService_1() throws ExecutionException {
241
242 TraceControlComponent parent = new TraceControlComponent("parent") {
243 ILttngControlService fService = null;
244
245 @Override
246 public void setControlService(ILttngControlService service ) {
247 fService = service;
248 }
249
250 @Override
251 public ILttngControlService getControlService() {
252 return fService;
253 }
254 };
255
256 TraceControlComponent fixture = new TraceControlComponent("", parent);
257 parent.addChild(fixture);
258 fixture.setToolTip("");
259 TraceControlComponent child = new TraceControlComponent("child", fixture);
260 fixture.addChild(child);
261
262 ILttngControlService result = fixture.getControlService();
263 assertEquals(null, result);
264
265 TestRemoteSystemProxy proxy = new TestRemoteSystemProxy();
266 ILttngControlService service = new LTTngControlService(proxy.createCommandShell());
267 fixture.setControlService(service);
268 result = fixture.getControlService();
269 assertNotNull(service);
270 assertEquals(service, result);
271
272 result = fixture.getChildren()[0].getControlService();
273 assertNotNull(service);
274 assertEquals(service, result);
275 }
276
277 /**
278 * Run the Image getImage() method test.
279 */
280 @Test
281 public void testGetImage_1() {
282 TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
283 fixture.setToolTip("");
284 fixture.addChild(new TraceControlRoot());
285
286 Image result = fixture.getImage();
287 assertEquals(null, result);
288
289 fixture.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER));
290 assertNotNull(fixture.getImage());
291 }
292
293 /**
294 * Run the boolean hasChildren() method test.
295 */
296 @Test
297 public void testHasChildren_1() {
298 TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
299 fixture.setToolTip("");
300 fixture.addChild(new TraceControlRoot());
301
302 boolean result = fixture.hasChildren();
303
304 assertTrue(result);
305 }
306
307 /**
308 * Run the boolean hasChildren() method test.
309 */
310 @Test
311 public void testHasChildren_2() {
312 TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
313 fixture.setToolTip("");
314
315 boolean result = fixture.hasChildren();
316
317 assertFalse(result);
318 }
319
320 /**
321 * Run the void removeAllChildren() method test.
322 */
323 @Test
324 public void testRemoveAllChildren_2() {
325 TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
326 fixture.setToolTip("");
327
328 fixture.addChild(new TraceControlRoot());
329 fixture.addChild(new TraceControlComponent("child"));
330
331 fixture.removeAllChildren();
332 assertFalse(fixture.hasChildren());
333 }
334
335 /**
336 * Run the void removeChild(ITraceControlComponent) method test.
337 */
338 @Test
339 public void testRemoveChild_1() {
340 TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
341 fixture.setToolTip("");
342 TraceControlComponent child = new TraceControlComponent("child", fixture);
343
344 fixture.addChild(child);
345 fixture.removeChild(child);
346 assertFalse(fixture.hasChildren());
347 }
348
349 /**
350 * Run the void removeChild(ITraceControlComponent) method test.
351 */
352 @Test
353 public void testRemoveChild_2() {
354 TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
355 fixture.setToolTip("");
356 fixture.addChild(new TraceControlRoot());
357 ITraceControlComponent component = null;
358
359 fixture.removeChild(component);
360 assertTrue(fixture.hasChildren());
361 }
362
363 /**
364 * Run the void removeComponentListener(ITraceControlComponentChangedListener) method test.
365 */
366 @Test
367 public void testRemoveComponentListener_1() {
368 TraceControlComponent fixture = new TraceControlComponent("", (ITraceControlComponent) null);
369 fixture.setToolTip("");
370
371 ListenerValidator validator = new ListenerValidator();
372 fixture.addComponentListener(validator);
373
374 // Remove listener and check that validator is not called anymore
375 validator.initialize();
376 fixture.removeComponentListener(validator);
377 TraceControlRoot root = new TraceControlRoot();
378 fixture.addChild(root);
379 assertFalse(validator.isAddedCalled());
380
381 fixture.removeChild(root);
382 assertFalse(validator.isRemovedCalled());
383
384 fixture.fireComponentChanged(fixture);
385 assertFalse(validator.isChangedCalled());
386 }
387
388 /**
389 * Run the void removeComponentListener(ITraceControlComponentChangedListener) method test.
390 */
391 @Test
392 public void testRemoveComponentListener_2() {
393 TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
394 fixture.setToolTip("");
395 fixture.addChild(new TraceControlRoot());
396 ITraceControlComponentChangedListener listener = new ControlView();
397
398 fixture.removeComponentListener(listener);
399
400 }
401
402 /**
403 * Run the void setChildren(List<ITraceControlComponent>)/ITraceControlComponent[] getChildren() method test.
404 */
405 @Test
406 public void testGetAndSetChildren() {
407 TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
408 fixture.setToolTip("");
409 List<ITraceControlComponent> children = new LinkedList<ITraceControlComponent>();
410 children.add(new TraceControlComponent("child1"));
411 children.add(new TraceControlComponent("child2"));
412
413 fixture.setChildren(children);
414
415 ITraceControlComponent[] result = fixture.getChildren();
416 assertEquals(2, result.length);
417 assertEquals("child1", result[0].getName());
418 assertEquals("child2", result[1].getName());
419 }
420
421 /**
422 * Run the void String getName()/setName(String) method tests.
423 */
424 @Test
425 public void testGetAndSetName() {
426 TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
427 fixture.setToolTip("");
428 fixture.addChild(new TraceControlRoot());
429 String name = "node";
430
431 fixture.setName(name);
432 assertEquals(name,fixture.getName());
433
434 }
435
436 /**
437 * Run the void ITraceControlComponent getParent()/setParent(ITraceControlComponent) method tests.
438 */
439 @Test
440 public void testGetAndSetParent() {
441 TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
442 fixture.setToolTip("");
443 fixture.addChild(new TraceControlRoot());
444 ITraceControlComponent parent = new TraceControlRoot();
445 parent.addChild(fixture);
446
447 fixture.setParent(parent);
448 ITraceControlComponent retrievedParent = fixture.getParent();
449 assertNotNull(retrievedParent);
450 assertEquals(parent.getName(), retrievedParent.getName());
451 assertEquals(TraceControlRoot.TRACE_CONTROL_ROOT_NAME, retrievedParent.getName());
452 assertEquals(null, retrievedParent.getParent());
453 assertEquals(true, retrievedParent.hasChildren());
454 }
455
456 /**
457 * Run the void TargetNodeState getTargetNodeState()/etTargetNodeState(TargetNodeState) method tests.
458 */
459 @Test
460 public void testGetAndSetTargetNodeState_1() {
461 TraceControlComponent parent = new TraceControlComponent("parent") {
462 private TargetNodeState fState;
463
464 @Override
465 public void setTargetNodeState(TargetNodeState state ) {
466 fState = state;
467 }
468
469 @Override
470 public TargetNodeState getTargetNodeState() {
471 return fState;
472 }
473 };
474
475 TraceControlComponent fixture = new TraceControlComponent("", parent);
476 parent.addChild(fixture);
477
478 fixture.setToolTip("");
479 TargetNodeState state = TargetNodeState.CONNECTED;
480
481 fixture.setTargetNodeState(state);
482 TargetNodeState result = fixture.getTargetNodeState();
483
484 assertNotNull(result);
485 assertEquals(state, result);
486 // Check also parent
487 assertEquals(state, fixture.getParent().getTargetNodeState());
488 assertEquals("CONNECTED", result.name());
489 assertEquals("CONNECTED", result.toString());
490 assertEquals(2, result.ordinal());
491
492 fixture.setTargetNodeState(TargetNodeState.DISCONNECTED);
493 result = fixture.getTargetNodeState();
494 assertNotNull(result);
495 assertEquals("DISCONNECTED", result.name());
496 assertEquals("DISCONNECTED", result.toString());
497 assertEquals(0, result.ordinal());
498
499 state = TargetNodeState.CONNECTING;
500
501 fixture.setTargetNodeState(state);
502 result = fixture.getTargetNodeState();
503 assertNotNull(result);
504 assertEquals("CONNECTING", result.name());
505 assertEquals("CONNECTING", result.toString());
506 assertEquals(3, result.ordinal());
507
508 fixture.setTargetNodeState(TargetNodeState.DISCONNECTING);
509 result = fixture.getTargetNodeState();
510 assertNotNull(result);
511 assertEquals("DISCONNECTING", result.name());
512 assertEquals("DISCONNECTING", result.toString());
513 assertEquals(1, result.ordinal());
514
515 }
516
517 /**
518 * Run the void setToolTip(String) method test.
519 */
520 @Test
521 public void testGetSndSetToolTip() {
522 TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
523 fixture.setToolTip("This is a tooltip");
524 fixture.addChild(new TraceControlRoot());
525
526 String result = fixture.getToolTip();
527
528 assertEquals("This is a tooltip", result);
529 }
530 }
This page took 0.068299 seconds and 5 git commands to generate.