Fix for unit test concurrency
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui.tests / src / org / eclipse / linuxtools / tmf / ui / tests / views / uml2sd / loader / TmfUml2SDSyncLoaderFilterTest.java
CommitLineData
73005152 1/*******************************************************************************
90ed5958 2 * Copyright (c) 2011-2013 Ericsson
64636df8 3 *
73005152
BH
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
64636df8 8 *
73005152
BH
9 * Contributors:
10 * Bernd Hufmann - Initial API and implementation
90ed5958 11 * Alexandre Montplaisir - Port to JUnit4
73005152 12 *******************************************************************************/
90ed5958 13
df0b8ff4 14package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader;
73005152 15
90ed5958
AM
16import static org.junit.Assert.assertEquals;
17import static org.junit.Assert.assertTrue;
18
73005152
BH
19import java.util.ArrayList;
20import java.util.List;
21
73005152
BH
22import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline;
23import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage;
df0b8ff4
BH
24import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.Criteria;
25import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.FilterCriteria;
26import org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader.TmfSyncMessage;
90ed5958
AM
27import org.junit.AfterClass;
28import org.junit.BeforeClass;
29import org.junit.Test;
73005152 30
64636df8
BH
31/**
32 * Filter test cases.
33 *
34 * @author Bernd Hufmann
64636df8
BH
35 */
36@SuppressWarnings("nls")
90ed5958 37public class TmfUml2SDSyncLoaderFilterTest {
73005152 38
90ed5958
AM
39 private static Uml2SDTestFacility fFacility;
40 private static List<FilterCriteria> filterToSave;
4f5d9f9b
BH
41
42 /**
90ed5958 43 * Initialization
4f5d9f9b 44 */
90ed5958
AM
45 @BeforeClass
46 public static void setUpClass() {
73005152 47 fFacility = Uml2SDTestFacility.getInstance();
73005152 48 fFacility.selectExperiment();
64636df8 49
90ed5958
AM
50 /* Create Filter Criteria */
51 filterToSave = new ArrayList<FilterCriteria>();
73005152
BH
52 Criteria criteria = new Criteria();
53 criteria.setLifeLineSelected(true);
54 criteria.setExpression(IUml2SDTestConstants.FIRST_PLAYER_NAME);
55 filterToSave.add(new FilterCriteria(criteria, true, false));
64636df8 56
73005152
BH
57 criteria = new Criteria();
58 criteria.setLifeLineSelected(true);
59 criteria.setExpression(IUml2SDTestConstants.MASTER_PLAYER_NAME);
60 filterToSave.add(new FilterCriteria(criteria, false, false));
64636df8 61
73005152
BH
62 criteria = new Criteria();
63 criteria.setSyncMessageSelected(true);
64 criteria.setExpression("BALL_.*"); //$NON-NLS-1$
65 filterToSave.add(new FilterCriteria(criteria, false, false));
90ed5958 66 }
64636df8 67
90ed5958
AM
68 /**
69 * Cleanup
70 */
71 @AfterClass
72 public static void tearDownClass() {
73 fFacility.disposeExperiment();
74 fFacility = null;
75 }
76
77 /**
78 * Verify the filter lifelines (1 out of 2 is hidden)
79 *
80 * Verified Methods: loader.filter()
81 * Expected result: Only one lifeline is visible with no messages
82 */
83 @Test
84 public void verifyFilter1of2() {
73005152
BH
85 fFacility.getLoader().filter(filterToSave);
86 fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
64636df8 87
73005152
BH
88 assertEquals("filter", 1, fFacility.getSdView().getFrame().lifeLinesCount());
89 assertEquals("filter", IUml2SDTestConstants.MASTER_PLAYER_NAME, fFacility.getSdView().getFrame().getLifeline(0).getName());
90 assertEquals("filter", 0, fFacility.getSdView().getFrame().syncMessageCount());
90ed5958 91 }
64636df8
BH
92
93
90ed5958
AM
94 /**
95 * Verify the filter lifelines (2 out of 2 are hidden)
96 *
97 * Verified Methods: loader.filter(), loader.fillCurrentPage()
98 * Expected result: Neiter liflines nor messages are visible
99 */
100 @Test
101 public void verifyFilter2of2() {
73005152
BH
102 filterToSave.get(1).setActive(true);
103 fFacility.getLoader().filter(filterToSave);
104 fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
105
106 assertEquals("filter", 0, fFacility.getSdView().getFrame().lifeLinesCount());
107 assertEquals("filter", 0, fFacility.getSdView().getFrame().syncMessageCount());
90ed5958 108 }
64636df8 109
90ed5958
AM
110 /**
111 * Verify removal of all filters
112 *
113 * Verified Methods: loader.filter(), loader.fillCurrentPage()
114 * Expected result: Everything is shown
115 */
116 @Test
117 public void verifyRemoval() {
73005152
BH
118 filterToSave.get(0).setActive(false);
119 filterToSave.get(1).setActive(false);
120 fFacility.getLoader().filter(filterToSave);
121 fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
64636df8 122
73005152 123 assertEquals("filter", 2, fFacility.getSdView().getFrame().lifeLinesCount());
90ed5958
AM
124 assertEquals("filter", IUml2SDTestConstants.MAX_MESSEAGES_PER_PAGE,
125 fFacility.getSdView().getFrame().syncMessageCount());
126 }
127
128 /**
129 * Verify filter of messages
130 *
131 * Verified Methods: loader.filter(), loader.fillCurrentPage()
132 * Expected result: Only particular messages are shown
133 */
134 @Test
135 public void verifyMessageFilter() {
73005152
BH
136 filterToSave.get(2).setActive(true);
137 fFacility.getLoader().filter(filterToSave);
138 fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
64636df8 139
73005152
BH
140 assertEquals("filter", 2, fFacility.getSdView().getFrame().lifeLinesCount());
141 assertEquals("filter", 6, fFacility.getSdView().getFrame().syncMessageCount());
64636df8 142
90ed5958
AM
143 String messages[] = { "REGISTER_PLAYER_REQUEST", "REGISTER_PLAYER_REPLY",
144 "GAME_REQUEST", "GAME_REPLY", "START_GAME_REQUEST", "START_GAME_REPLY" };
64636df8 145
73005152
BH
146 for (int i = 0; i < messages.length; i++) {
147 SyncMessage msg = fFacility.getSdView().getFrame().getSyncMessage(i);
148 assertTrue("filter", msg instanceof TmfSyncMessage);
149 assertEquals("filter", messages[i], msg.getName());
150 }
90ed5958 151 }
64636df8 152
90ed5958
AM
153 /**
154 * Verify filter lifeline (1 out of three lifelines). Note that filter was
155 * set during change of page.
156 *
157 * Verified Methods: loader.filter(), loader.fillCurrentPage()
158 * Expected result: Only 2 lifelines and their interactions are shown
159 */
160 @Test
161 public void verifyFilter1of3() {
73005152
BH
162 filterToSave.get(0).setActive(true);
163 filterToSave.get(2).setActive(false);
164 fFacility.setPage(IUml2SDTestConstants.PAGE_OF_ALL_LIFELINES);
165
166 assertEquals("filter", 2, fFacility.getSdView().getFrame().lifeLinesCount());
167 String lifelines[] = { IUml2SDTestConstants.MASTER_PLAYER_NAME, IUml2SDTestConstants.SECOND_PLAYER_NAME };
64636df8 168
73005152
BH
169 for (int i = 0; i < lifelines.length; i++) {
170 Lifeline line = fFacility.getSdView().getFrame().getLifeline(i);
171 assertEquals("filter", lifelines[i], line.getName());
172 }
64636df8 173
73005152 174 assertTrue(fFacility.getSdView().getFrame().syncMessageCount() > 0);
64636df8 175
73005152
BH
176 filterToSave.get(2).setActive(false);
177 }
178}
This page took 0.040155 seconds and 5 git commands to generate.