Commit | Line | Data |
---|---|---|
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 | 14 | package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader; |
73005152 | 15 | |
90ed5958 AM |
16 | import static org.junit.Assert.assertEquals; |
17 | import static org.junit.Assert.assertTrue; | |
18 | ||
73005152 BH |
19 | import java.util.ArrayList; |
20 | import java.util.List; | |
21 | ||
73005152 BH |
22 | import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline; |
23 | import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage; | |
df0b8ff4 BH |
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; | |
90ed5958 AM |
27 | import org.junit.AfterClass; |
28 | import org.junit.BeforeClass; | |
29 | import org.junit.Test; | |
73005152 | 30 | |
64636df8 BH |
31 | /** |
32 | * Filter test cases. | |
33 | * | |
34 | * @author Bernd Hufmann | |
64636df8 BH |
35 | */ |
36 | @SuppressWarnings("nls") | |
90ed5958 | 37 | public 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 | } |