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