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