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 java
.util
.ArrayList
;
15 import java
.util
.List
;
17 import junit
.framework
.TestCase
;
19 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.core
.Lifeline
;
20 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.core
.SyncMessage
;
21 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.handlers
.widgets
.Criteria
;
22 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.handlers
.widgets
.FilterCriteria
;
23 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.impl
.TmfSyncMessage
;
25 public class TmfUml2SDSyncLoaderFilterTest
extends TestCase
{
27 // ------------------------------------------------------------------------
29 // ------------------------------------------------------------------------
30 private Uml2SDTestFacility fFacility
;
32 // ------------------------------------------------------------------------
34 // ------------------------------------------------------------------------
35 public TmfUml2SDSyncLoaderFilterTest() {
38 // ------------------------------------------------------------------------
40 // ------------------------------------------------------------------------
42 public void setUp() throws Exception
{
44 fFacility
= Uml2SDTestFacility
.getInstance();
45 fFacility
.init(false);
46 fFacility
.selectExperiment();
51 public void tearDown() throws Exception
{
52 fFacility
.disposeExperiment();
58 @SuppressWarnings("nls")
59 public void testFilterHandling() {
61 // Create Filter Criteria
62 List
<FilterCriteria
> filterToSave
= new ArrayList
<FilterCriteria
>();
63 Criteria criteria
= new Criteria();
64 criteria
.setLifeLineSelected(true);
65 criteria
.setExpression(IUml2SDTestConstants
.FIRST_PLAYER_NAME
);
66 filterToSave
.add(new FilterCriteria(criteria
, true, false));
68 criteria
= new Criteria();
69 criteria
.setLifeLineSelected(true);
70 criteria
.setExpression(IUml2SDTestConstants
.MASTER_PLAYER_NAME
);
71 filterToSave
.add(new FilterCriteria(criteria
, false, false));
73 criteria
= new Criteria();
74 criteria
.setSyncMessageSelected(true);
75 criteria
.setExpression("BALL_.*"); //$NON-NLS-1$
76 filterToSave
.add(new FilterCriteria(criteria
, false, false));
80 * Description: Verify the filter lifelines (1 out of 2 is hidden)
81 * Verified Methods: loader.filter()
82 * Expected result: Only one lifeline is visible with no messages
84 fFacility
.getLoader().filter(filterToSave
);
85 fFacility
.delay(IUml2SDTestConstants
.GUI_REFESH_DELAY
);
87 assertEquals("filter", 1, fFacility
.getSdView().getFrame().lifeLinesCount());
88 assertEquals("filter", IUml2SDTestConstants
.MASTER_PLAYER_NAME
, fFacility
.getSdView().getFrame().getLifeline(0).getName());
89 assertEquals("filter", 0, fFacility
.getSdView().getFrame().syncMessageCount());
94 * Description: Verify the filter lifelines (2 out of 2 are hidden)
95 * Verified Methods: loader.filter(), loader.fillCurrentPage()
96 * Expected result: Neiter liflines nor messages are visible
98 filterToSave
.get(1).setActive(true);
99 fFacility
.getLoader().filter(filterToSave
);
100 fFacility
.delay(IUml2SDTestConstants
.GUI_REFESH_DELAY
);
102 assertEquals("filter", 0, fFacility
.getSdView().getFrame().lifeLinesCount());
103 assertEquals("filter", 0, fFacility
.getSdView().getFrame().syncMessageCount());
107 * Description: Verify removal of all filters
108 * Verified Methods: loader.filter(), loader.fillCurrentPage()
109 * Expected result: Everything is shown
111 filterToSave
.get(0).setActive(false);
112 filterToSave
.get(1).setActive(false);
113 fFacility
.getLoader().filter(filterToSave
);
114 fFacility
.delay(IUml2SDTestConstants
.GUI_REFESH_DELAY
);
116 assertEquals("filter", 2, fFacility
.getSdView().getFrame().lifeLinesCount());
117 assertEquals("filter", IUml2SDTestConstants
.MAX_MESSEAGES_PER_PAGE
, fFacility
.getSdView().getFrame().syncMessageCount());
121 * Description: Verify filter of messages
122 * Verified Methods: loader.filter(), loader.fillCurrentPage()
123 * Expected result: Only particular messages are shown
125 filterToSave
.get(2).setActive(true);
126 fFacility
.getLoader().filter(filterToSave
);
127 fFacility
.delay(IUml2SDTestConstants
.GUI_REFESH_DELAY
);
129 assertEquals("filter", 2, fFacility
.getSdView().getFrame().lifeLinesCount());
130 assertEquals("filter", 6, fFacility
.getSdView().getFrame().syncMessageCount());
132 String messages
[] = { "REGISTER_PLAYER_REQUEST", "REGISTER_PLAYER_REPLY", "GAME_REQUEST", "GAME_REPLY", "START_GAME_REQUEST", "START_GAME_REPLY" };
134 for (int i
= 0; i
< messages
.length
; i
++) {
135 SyncMessage msg
= fFacility
.getSdView().getFrame().getSyncMessage(i
);
136 assertTrue("filter", msg
instanceof TmfSyncMessage
);
137 assertEquals("filter", messages
[i
], msg
.getName());
142 * Description: Verify filter lifeline (1 out of three lifelines).
143 * Note that filter was set during change of page.
144 * Verified Methods: loader.filter(), loader.fillCurrentPage()
145 * Expected result: Only 2 lifelines and their interactions are shown
147 filterToSave
.get(0).setActive(true);
148 filterToSave
.get(2).setActive(false);
149 fFacility
.setPage(IUml2SDTestConstants
.PAGE_OF_ALL_LIFELINES
);
151 assertEquals("filter", 2, fFacility
.getSdView().getFrame().lifeLinesCount());
152 String lifelines
[] = { IUml2SDTestConstants
.MASTER_PLAYER_NAME
, IUml2SDTestConstants
.SECOND_PLAYER_NAME
};
154 for (int i
= 0; i
< lifelines
.length
; i
++) {
155 Lifeline line
= fFacility
.getSdView().getFrame().getLifeline(i
);
156 assertEquals("filter", lifelines
[i
], line
.getName());
159 assertTrue(fFacility
.getSdView().getFrame().syncMessageCount() > 0);
161 filterToSave
.get(2).setActive(false);