1 /*******************************************************************************
2 * Copyright (c) 2011-2013 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 * Alexandre Montplaisir - Port to JUnit4
12 *******************************************************************************/
14 package org
.eclipse
.linuxtools
.tmf
.ui
.tests
.views
.uml2sd
.loader
;
16 import static org
.junit
.Assert
.assertEquals
;
17 import static org
.junit
.Assert
.assertTrue
;
19 import java
.util
.ArrayList
;
20 import java
.util
.List
;
22 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.core
.Lifeline
;
23 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.core
.SyncMessage
;
24 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.dialogs
.Criteria
;
25 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.dialogs
.FilterCriteria
;
26 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.loader
.TmfSyncMessage
;
27 import org
.junit
.After
;
28 import org
.junit
.AfterClass
;
29 import org
.junit
.Before
;
30 import org
.junit
.BeforeClass
;
31 import org
.junit
.Test
;
36 * @author Bernd Hufmann
38 public class TmfUml2SDSyncLoaderFilterTest
{
40 private static Uml2SDTestFacility fFacility
;
41 private static List
<FilterCriteria
> filterToSave
;
47 public static void setUpClass() {
48 fFacility
= Uml2SDTestFacility
.getInstance();
49 fFacility
.selectExperiment();
51 /* Create Filter Criteria */
52 filterToSave
= new ArrayList
<>();
53 Criteria criteria
= new Criteria();
54 criteria
.setLifeLineSelected(true);
55 criteria
.setExpression(IUml2SDTestConstants
.FIRST_PLAYER_NAME
);
56 filterToSave
.add(new FilterCriteria(criteria
, false, false));
58 criteria
= new Criteria();
59 criteria
.setLifeLineSelected(true);
60 criteria
.setExpression(IUml2SDTestConstants
.MASTER_PLAYER_NAME
);
61 filterToSave
.add(new FilterCriteria(criteria
, false, false));
63 criteria
= new Criteria();
64 criteria
.setSyncMessageSelected(true);
65 criteria
.setExpression("BALL_.*");
66 filterToSave
.add(new FilterCriteria(criteria
, false, false));
73 public static void tearDownClass() {
74 fFacility
.disposeExperiment();
79 * Test Case set-up code.
82 public void beforeTest(){
83 // Make sure we are at the first page
84 fFacility
.firstPage();
88 * Test case clean-up code.
91 public void afterTest() {
92 filterToSave
.get(0).setActive(false);
93 filterToSave
.get(1).setActive(false);
94 filterToSave
.get(2).setActive(false);
95 fFacility
.getLoader().filter(filterToSave
);
96 fFacility
.delay(IUml2SDTestConstants
.GUI_REFESH_DELAY
);
100 * Verify the filter lifelines (1 out of 2 is hidden)
102 * Verified Methods: loader.filter()
103 * Expected result: Only one lifeline is visible with no messages
106 public void verifyFilter1of2() {
107 // Initialize the filter
108 filterToSave
.get(0).setActive(true);
110 fFacility
.getLoader().filter(filterToSave
);
111 fFacility
.delay(IUml2SDTestConstants
.GUI_REFESH_DELAY
);
113 assertEquals("filter", 1, fFacility
.getSdView().getFrame().lifeLinesCount());
114 assertEquals("filter", IUml2SDTestConstants
.MASTER_PLAYER_NAME
, fFacility
.getSdView().getFrame().getLifeline(0).getName());
115 assertEquals("filter", 0, fFacility
.getSdView().getFrame().syncMessageCount());
120 * Verify the filter lifelines (2 out of 2 are hidden)
122 * Verified Methods: loader.filter(), loader.fillCurrentPage()
123 * Expected result: Neiter liflines nor messages are visible
126 public void verifyFilter2of2() {
127 // Initialize the filter
128 filterToSave
.get(0).setActive(true);
129 filterToSave
.get(1).setActive(true);
131 fFacility
.getLoader().filter(filterToSave
);
132 fFacility
.delay(IUml2SDTestConstants
.GUI_REFESH_DELAY
);
134 assertEquals("filter", 0, fFacility
.getSdView().getFrame().lifeLinesCount());
135 assertEquals("filter", 0, fFacility
.getSdView().getFrame().syncMessageCount());
139 * Verify removal of all filters
141 * Verified Methods: loader.filter(), loader.fillCurrentPage()
142 * Expected result: Everything is shown
145 public void verifyRemoval() {
146 // First set 2 filter
147 filterToSave
.get(0).setActive(true);
148 filterToSave
.get(1).setActive(true);
149 fFacility
.getLoader().filter(filterToSave
);
150 fFacility
.delay(IUml2SDTestConstants
.GUI_REFESH_DELAY
);
153 filterToSave
.get(0).setActive(false);
154 filterToSave
.get(1).setActive(false);
155 fFacility
.getLoader().filter(filterToSave
);
156 fFacility
.delay(IUml2SDTestConstants
.GUI_REFESH_DELAY
);
158 assertEquals("filter", 2, fFacility
.getSdView().getFrame().lifeLinesCount());
159 assertEquals("filter", IUml2SDTestConstants
.MAX_MESSEAGES_PER_PAGE
,
160 fFacility
.getSdView().getFrame().syncMessageCount());
164 * Verify filter of messages
166 * Verified Methods: loader.filter(), loader.fillCurrentPage()
167 * Expected result: Only particular messages are shown
170 public void verifyMessageFilter() {
171 // Initialize the filter
172 filterToSave
.get(2).setActive(true);
174 fFacility
.getLoader().filter(filterToSave
);
175 fFacility
.delay(IUml2SDTestConstants
.GUI_REFESH_DELAY
);
177 assertEquals("filter", 2, fFacility
.getSdView().getFrame().lifeLinesCount());
178 assertEquals("filter", 6, fFacility
.getSdView().getFrame().syncMessageCount());
180 String messages
[] = { "REGISTER_PLAYER_REQUEST", "REGISTER_PLAYER_REPLY",
181 "GAME_REQUEST", "GAME_REPLY", "START_GAME_REQUEST", "START_GAME_REPLY" };
183 for (int i
= 0; i
< messages
.length
; i
++) {
184 SyncMessage msg
= fFacility
.getSdView().getFrame().getSyncMessage(i
);
185 assertTrue("filter", msg
instanceof TmfSyncMessage
);
186 assertEquals("filter", messages
[i
], msg
.getName());
191 * Verify filter lifeline (1 out of three lifelines). Note that filter was
192 * set during change of page.
194 * Verified Methods: loader.filter(), loader.fillCurrentPage()
195 * Expected result: Only 2 lifelines and their interactions are shown
198 public void verifyFilter1of3() {
199 filterToSave
.get(0).setActive(true);
200 fFacility
.getLoader().filter(filterToSave
);
201 fFacility
.setPage(IUml2SDTestConstants
.PAGE_OF_ALL_LIFELINES
);
203 assertEquals("filter", 2, fFacility
.getSdView().getFrame().lifeLinesCount());
204 String lifelines
[] = { IUml2SDTestConstants
.MASTER_PLAYER_NAME
, IUml2SDTestConstants
.SECOND_PLAYER_NAME
};
206 for (int i
= 0; i
< lifelines
.length
; i
++) {
207 Lifeline line
= fFacility
.getSdView().getFrame().getLifeline(i
);
208 assertEquals("filter", lifelines
[i
], line
.getName());
211 assertTrue(fFacility
.getSdView().getFrame().syncMessageCount() > 0);