1 /*******************************************************************************
2 * Copyright (c) 2011 Ericsson
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
10 * Bernd Hufmann - Initial API and implementation
11 *******************************************************************************/
12 package org
.eclipse
.linuxtools
.tmf
.ui
.tests
.views
.uml2sd
.impl
;
14 import junit
.framework
.Test
;
15 import junit
.framework
.TestCase
;
16 import junit
.framework
.TestSuite
;
18 import org
.eclipse
.linuxtools
.tmf
.event
.TmfTimeRange
;
19 import org
.eclipse
.linuxtools
.tmf
.event
.TmfTimestamp
;
20 import org
.eclipse
.linuxtools
.tmf
.signal
.TmfRangeSynchSignal
;
21 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.core
.GraphNode
;
23 public class TmfUml2SDSyncLoaderSignalTest
extends TestCase
{
25 // ------------------------------------------------------------------------
27 // ------------------------------------------------------------------------
28 private Uml2SDTestFacility fFacility
;
29 private Uml2SDSignalValidator fTmfComponent
;
31 // ------------------------------------------------------------------------
33 // ------------------------------------------------------------------------
36 * Returns test setup used when executing test case stand-alone.
37 * @return Test setup class
39 public static Test
suite() {
40 return new Uml2SDTestSetup(new TestSuite(TmfUml2SDSyncLoaderSignalTest
.class));
43 // ------------------------------------------------------------------------
45 // ------------------------------------------------------------------------
46 public TmfUml2SDSyncLoaderSignalTest() {
49 // ------------------------------------------------------------------------
51 // ------------------------------------------------------------------------
53 public void setUp() throws Exception
{
55 fFacility
= Uml2SDTestFacility
.getInstance();
56 fFacility
.selectExperiment();
60 public void tearDown() throws Exception
{
61 fFacility
.disposeExperiment();
66 @SuppressWarnings("nls")
67 public void testSignalHandling() {
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);
74 fFacility
.getTrace().broadcast(new TmfRangeSynchSignal(this, range
, currentTime
));
75 fFacility
.delay(IUml2SDTestConstants
.BROADCAST_DELAY
);
77 fTmfComponent
= new Uml2SDSignalValidator();
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.
85 currentTime
= new Uml2SDTestTimestamp(9788641608418L);
86 range
= new TmfTimeRange(currentTime
, new Uml2SDTestTimestamp(currentTime
.getValue() + rangeWindow
.getValue()));
88 fTmfComponent
.setSignalError(false);
89 fTmfComponent
.setSignalReceived(false);
90 fTmfComponent
.setCurrentTimeError(false);
91 fTmfComponent
.setRangeError(false);
92 fTmfComponent
.setSourceError(false);
94 // set expected values
95 fTmfComponent
.setSource(fFacility
.getLoader());
96 fTmfComponent
.setCurrentTime(currentTime
);
97 fTmfComponent
.setCurrentRange(range
);
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());
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.
112 fTmfComponent
.setSignalReceived(false);
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);
118 // set expected values
119 fTmfComponent
.setSource(fFacility
.getLoader());
120 fTmfComponent
.setCurrentTime(new Uml2SDTestTimestamp(9788642113228L));
121 fTmfComponent
.setCurrentRange(null); // not used
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());
129 fTmfComponent
.setSignalReceived(false);
131 fTmfComponent
.dispose();