Re-structure LTTng sub-project as per the Linux Tools guidelines
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui.tests / src / org / eclipse / linuxtools / tmf / ui / tests / views / uml2sd / impl / TmfUml2SDSyncLoaderSignalTest.java
1 /*******************************************************************************
2 * Copyright (c) 2011 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 *******************************************************************************/
12 package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.impl;
13
14 import junit.framework.Test;
15 import junit.framework.TestCase;
16 import junit.framework.TestSuite;
17
18 import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange;
19 import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
20 import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
21 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
22
23 public class TmfUml2SDSyncLoaderSignalTest extends TestCase {
24
25 // ------------------------------------------------------------------------
26 // Attributes
27 // ------------------------------------------------------------------------
28 private Uml2SDTestFacility fFacility;
29 private Uml2SDSignalValidator fTmfComponent;
30
31 // ------------------------------------------------------------------------
32 // Static methods
33 // ------------------------------------------------------------------------
34
35 /**
36 * Returns test setup used when executing test case stand-alone.
37 * @return Test setup class
38 */
39 public static Test suite() {
40 return new Uml2SDTestSetup(new TestSuite(TmfUml2SDSyncLoaderSignalTest.class));
41 }
42
43 // ------------------------------------------------------------------------
44 // Constructors
45 // ------------------------------------------------------------------------
46 public TmfUml2SDSyncLoaderSignalTest() {
47 }
48
49 // ------------------------------------------------------------------------
50 // Operations
51 // ------------------------------------------------------------------------
52 @Override
53 public void setUp() throws Exception {
54 super.setUp();
55 fFacility = Uml2SDTestFacility.getInstance();
56 fFacility.selectExperiment();
57 }
58
59 @Override
60 public void tearDown() throws Exception {
61 fFacility.disposeExperiment();
62 fFacility = null;
63 super.tearDown();
64 }
65
66 @SuppressWarnings("nls")
67 public void testSignalHandling() {
68
69 TmfTimeRange range = new TmfTimeRange(new Uml2SDTestTimestamp(9789689220871L), new Uml2SDTestTimestamp(9789773881426L));
70 // Get range window for tests below
71 TmfTimestamp rangeWindow = range.getEndTime().getDelta(range.getStartTime());
72 TmfTimestamp currentTime = new Uml2SDTestTimestamp(9789773782043L);
73
74 fFacility.getTrace().broadcast(new TmfRangeSynchSignal(this, range, currentTime));
75 fFacility.delay(IUml2SDTestConstants.BROADCAST_DELAY);
76
77 fTmfComponent = new Uml2SDSignalValidator();
78
79 /*
80 * Test Case: 001
81 * Description: Verify that time range signal is send with correct values when going to first page
82 * Verified Methods: broadcast()
83 * Expected result: Time range sync signal is sent with correct range and current time.
84 */
85 currentTime = new Uml2SDTestTimestamp(9788641608418L);
86 range = new TmfTimeRange(currentTime, new Uml2SDTestTimestamp(currentTime.getValue() + rangeWindow.getValue()));
87
88 fTmfComponent.setSignalError(false);
89 fTmfComponent.setSignalReceived(false);
90 fTmfComponent.setCurrentTimeError(false);
91 fTmfComponent.setRangeError(false);
92 fTmfComponent.setSourceError(false);
93
94 // set expected values
95 fTmfComponent.setSource(fFacility.getLoader());
96 fTmfComponent.setCurrentTime(currentTime);
97 fTmfComponent.setCurrentRange(range);
98
99 fFacility.firstPage();
100 assertTrue("TmfRangeSynchSignal", fTmfComponent.isSignalReceived());
101 assertFalse("TmfRangeSynchSignal", fTmfComponent.isSignalError());
102 assertFalse("TmfRangeSynchSignal", fTmfComponent.isCurrentTimeError());
103 assertFalse("TmfRangeSynchSignal", fTmfComponent.isSourceError());
104 assertFalse("TmfRangeSynchSignal", fTmfComponent.isRangeError());
105
106 /*
107 * Test Case: 002
108 * Description: Verify that time sync signal is sent correctly after selection
109 * Verified Methods: loader.broadcast(), testSelectionChanged
110 * Expected result: Time sync signal is sent with correct current time.
111 */
112 fTmfComponent.setSignalReceived(false);
113
114 int count = fFacility.getSdView().getFrame().syncMessageCount();
115 assertEquals("Test Preparation", IUml2SDTestConstants.MAX_MESSEAGES_PER_PAGE, count);
116 GraphNode node = fFacility.getSdView().getFrame().getSyncMessage(3);
117
118 // set expected values
119 fTmfComponent.setSource(fFacility.getLoader());
120 fTmfComponent.setCurrentTime(new Uml2SDTestTimestamp(9788642113228L));
121 fTmfComponent.setCurrentRange(null); // not used
122
123 fFacility.getSdView().getSDWidget().moveTo(node); // selects the given node
124 assertTrue("TmfTimeSynchSignal", fTmfComponent.isSignalReceived());
125 assertFalse("TmfTimeSynchSignal", fTmfComponent.isSignalError());
126 assertFalse("TmfTimeSynchSignal", fTmfComponent.isCurrentTimeError());
127 assertFalse("TmfTimeSynchSignal", fTmfComponent.isSourceError());
128
129 fTmfComponent.setSignalReceived(false);
130
131 fTmfComponent.dispose();
132 }
133 }
This page took 0.05263 seconds and 5 git commands to generate.