Contribution for Bug352466: [TMF] Implement UML2 Sequence Diagram
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui.tests / src / org / eclipse / linuxtools / tmf / ui / tests / views / uml2sd / impl / TmfUml2SDSyncLoaderFilterTest.java
CommitLineData
73005152
BH
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 *******************************************************************************/
12package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.impl;
13
14import java.util.ArrayList;
15import java.util.List;
16
17import junit.framework.TestCase;
18
19import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline;
20import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage;
21import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.widgets.Criteria;
22import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.widgets.FilterCriteria;
23import org.eclipse.linuxtools.tmf.ui.views.uml2sd.impl.TmfSyncMessage;
24
25public class TmfUml2SDSyncLoaderFilterTest extends TestCase {
26
27 // ------------------------------------------------------------------------
28 // Attributes
29 // ------------------------------------------------------------------------
30 private Uml2SDTestFacility fFacility;
31
32 // ------------------------------------------------------------------------
33 // Constructors
34 // ------------------------------------------------------------------------
35 public TmfUml2SDSyncLoaderFilterTest() {
36 }
37
38 // ------------------------------------------------------------------------
39 // Operations
40 // ------------------------------------------------------------------------
41 @Override
42 public void setUp() throws Exception {
43 super.setUp();
44 fFacility = Uml2SDTestFacility.getInstance();
45 fFacility.init(false);
46 fFacility.selectExperiment();
47 }
48
49
50 @Override
51 public void tearDown() throws Exception {
52 fFacility.disposeExperiment();
53 fFacility.dispose();
54 fFacility = null;
55 super.tearDown();
56 }
57
58 @SuppressWarnings("nls")
59 public void testFilterHandling() {
60
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));
67
68 criteria = new Criteria();
69 criteria.setLifeLineSelected(true);
70 criteria.setExpression(IUml2SDTestConstants.MASTER_PLAYER_NAME);
71 filterToSave.add(new FilterCriteria(criteria, false, false));
72
73 criteria = new Criteria();
74 criteria.setSyncMessageSelected(true);
75 criteria.setExpression("BALL_.*"); //$NON-NLS-1$
76 filterToSave.add(new FilterCriteria(criteria, false, false));
77
78 /*
79 * Test Case: 001
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
83 */
84 fFacility.getLoader().filter(filterToSave);
85 fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
86
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());
90
91
92 /*
93 * Test Case: 002
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
97 */
98 filterToSave.get(1).setActive(true);
99 fFacility.getLoader().filter(filterToSave);
100 fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
101
102 assertEquals("filter", 0, fFacility.getSdView().getFrame().lifeLinesCount());
103 assertEquals("filter", 0, fFacility.getSdView().getFrame().syncMessageCount());
104
105 /*
106 * Test Case: 003
107 * Description: Verify removal of all filters
108 * Verified Methods: loader.filter(), loader.fillCurrentPage()
109 * Expected result: Everything is shown
110 */
111 filterToSave.get(0).setActive(false);
112 filterToSave.get(1).setActive(false);
113 fFacility.getLoader().filter(filterToSave);
114 fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
115
116 assertEquals("filter", 2, fFacility.getSdView().getFrame().lifeLinesCount());
117 assertEquals("filter", IUml2SDTestConstants.MAX_MESSEAGES_PER_PAGE, fFacility.getSdView().getFrame().syncMessageCount());
118
119 /*
120 * Test Case: 004
121 * Description: Verify filter of messages
122 * Verified Methods: loader.filter(), loader.fillCurrentPage()
123 * Expected result: Only particular messages are shown
124 */
125 filterToSave.get(2).setActive(true);
126 fFacility.getLoader().filter(filterToSave);
127 fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
128
129 assertEquals("filter", 2, fFacility.getSdView().getFrame().lifeLinesCount());
130 assertEquals("filter", 6, fFacility.getSdView().getFrame().syncMessageCount());
131
132 String messages[] = { "REGISTER_PLAYER_REQUEST", "REGISTER_PLAYER_REPLY", "GAME_REQUEST", "GAME_REPLY", "START_GAME_REQUEST", "START_GAME_REPLY" };
133
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());
138 }
139
140 /*
141 * Test Case: 005
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
146 */
147 filterToSave.get(0).setActive(true);
148 filterToSave.get(2).setActive(false);
149 fFacility.setPage(IUml2SDTestConstants.PAGE_OF_ALL_LIFELINES);
150
151 assertEquals("filter", 2, fFacility.getSdView().getFrame().lifeLinesCount());
152 String lifelines[] = { IUml2SDTestConstants.MASTER_PLAYER_NAME, IUml2SDTestConstants.SECOND_PLAYER_NAME };
153
154 for (int i = 0; i < lifelines.length; i++) {
155 Lifeline line = fFacility.getSdView().getFrame().getLifeline(i);
156 assertEquals("filter", lifelines[i], line.getName());
157 }
158
159 assertTrue(fFacility.getSdView().getFrame().syncMessageCount() > 0);
160
161 filterToSave.get(2).setActive(false);
162 }
163}
This page took 0.032132 seconds and 5 git commands to generate.