Skip to content

Package: ValidationResultService_Test$ECPTestValidationResultListener

ValidationResultService_Test$ECPTestValidationResultListener

nameinstructionbranchcomplexitylinemethod
ValidationResultService_Test.ECPTestValidationResultListener(ValidationResultService_Test)
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getDiagnostic()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
resetDiagnostic()
M: 0 C: 7
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
resultChanged(Object)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
3: *
4: * All rights reserved. This program and the accompanying materials
5: * are made available under the terms of the Eclipse Public License 2.0
6: * which accompanies this distribution, and is available at
7: * https://www.eclipse.org/legal/epl-2.0/
8: *
9: * SPDX-License-Identifier: EPL-2.0
10: *
11: * Contributors:
12: * Johannes Faltermeier - initial API and implementation
13: ******************************************************************************/
14: package org.eclipse.emf.ecp.ui.validation.test;
15:
16: import static org.junit.Assert.assertEquals;
17: import static org.junit.Assert.assertNotNull;
18: import static org.junit.Assert.assertNull;
19:
20: import java.util.ArrayList;
21: import java.util.LinkedHashMap;
22: import java.util.LinkedHashSet;
23: import java.util.List;
24: import java.util.Map;
25: import java.util.Set;
26:
27: import org.eclipse.emf.common.util.BasicDiagnostic;
28: import org.eclipse.emf.common.util.Diagnostic;
29: import org.eclipse.emf.ecore.EClassifier;
30: import org.eclipse.emf.ecore.EObject;
31: import org.eclipse.emf.ecp.internal.ui.validation.ECPValidationResultServiceImpl;
32: import org.eclipse.emf.ecp.ui.validation.ECPValidationResultService.ECPValidationResultServiceListener;
33: import org.eclipse.emf.emfstore.bowling.BowlingFactory;
34: import org.eclipse.emf.emfstore.bowling.BowlingPackage;
35: import org.eclipse.emf.emfstore.bowling.League;
36: import org.eclipse.emf.emfstore.bowling.Player;
37: import org.junit.Before;
38: import org.junit.Test;
39:
40: public class ValidationResultService_Test {
41:
42:         private ECPValidationResultServiceImpl service;
43:         private Player player;
44:         private League league;
45:         private ECPTestValidationResultListener listener;
46:
47:         @Before
48:         public void before() {
49:                 service = new ECPValidationResultServiceImpl();
50:                 player = BowlingFactory.eINSTANCE.createPlayer();
51:                 league = BowlingFactory.eINSTANCE.createLeague();
52:                 listener = new ECPTestValidationResultListener();
53:         }
54:
55:         @Test
56:         public void registerForAll() {
57:                 service.register(listener);
58:                 assertNull(listener.getDiagnostic());
59:
60:                 service.setResult(diagnostic(league));
61:                 assertNotNull(listener.getDiagnostic());
62:                 listener.resetDiagnostic();
63:
64:                 service.setResult(diagnostic(player));
65:                 assertNotNull(listener.getDiagnostic());
66:         }
67:
68:         @Test
69:         public void registerForAllClassifier() {
70:                 service.register(listener, classifiers(true, true));
71:                 assertNull(listener.getDiagnostic());
72:
73:                 service.setResult(diagnostic(league));
74:                 assertNotNull(listener.getDiagnostic());
75:                 listener.resetDiagnostic();
76:
77:                 service.setResult(diagnostic(player));
78:                 assertNotNull(listener.getDiagnostic());
79:         }
80:
81:         @Test
82:         public void registerForSpecificClassifier() {
83:                 service.register(listener, classifiers(false, true));
84:                 assertNull(listener.getDiagnostic());
85:
86:                 service.setResult(diagnostic(league));
87:                 assertNotNull(listener.getDiagnostic());
88:                 listener.resetDiagnostic();
89:
90:                 service.setResult(diagnostic(player));
91:                 assertNull(listener.getDiagnostic());
92:         }
93:
94:         @Test
95:         public void reregisterFromAllToSpecific() {
96:                 service.register(listener);
97:                 service.register(listener, classifiers(true, false));
98:
99:                 service.setResult(diagnostic(player));
100:                 assertNotNull(listener.getDiagnostic());
101:                 listener.resetDiagnostic();
102:                 service.setResult(diagnostic(league));
103:                 assertNull(listener.getDiagnostic());
104:         }
105:
106:         @Test
107:         public void reregisterFromSpecificToAllToOtherSpecific() {
108:                 service.register(listener, classifiers(true, false));
109:                 service.register(listener);
110:
111:                 service.setResult(diagnostic(player));
112:                 assertNotNull(listener.getDiagnostic());
113:                 listener.resetDiagnostic();
114:                 service.setResult(diagnostic(league));
115:                 assertNotNull(listener.getDiagnostic());
116:                 listener.resetDiagnostic();
117:
118:                 service.register(listener, classifiers(false, true));
119:
120:                 service.setResult(diagnostic(player));
121:                 assertNull(listener.getDiagnostic());
122:                 service.setResult(diagnostic(league));
123:                 assertNotNull(listener.getDiagnostic());
124:                 listener.resetDiagnostic();
125:         }
126:
127:         @Test
128:         public void reregisterForMore() {
129:                 service.register(listener, classifiers(true, false));
130:                 service.register(listener, classifiers(true, true));
131:
132:                 service.setResult(diagnostic(player));
133:                 assertNotNull(listener.getDiagnostic());
134:                 listener.resetDiagnostic();
135:                 service.setResult(diagnostic(league));
136:                 assertNotNull(listener.getDiagnostic());
137:                 listener.resetDiagnostic();
138:         }
139:
140:         @Test
141:         public void deregisterFromAll() {
142:                 service.register(listener);
143:                 service.deregister(listener);
144:
145:                 service.setResult(diagnostic(player));
146:                 assertNull(listener.getDiagnostic());
147:                 service.setResult(diagnostic(league));
148:                 assertNull(listener.getDiagnostic());
149:         }
150:
151:         @Test
152:         public void deregisterFromSpecific() {
153:                 service.register(listener, classifiers(true, false));
154:                 service.deregister(listener);
155:
156:                 service.setResult(diagnostic(player));
157:                 assertNull(listener.getDiagnostic());
158:                 service.setResult(diagnostic(league));
159:                 assertNull(listener.getDiagnostic());
160:         }
161:
162:         @Test
163:         public void testResultSingle() {
164:                 service.register(listener);
165:                 final Diagnostic diagnostic = diagnostic(league);
166:                 service.setResult(diagnostic);
167:                 assertEquals(diagnostic, listener.getDiagnostic());
168:         }
169:
170:         @Test
171:         public void testResultList() {
172:                 service.register(listener);
173:                 final List<Diagnostic> list = new ArrayList<Diagnostic>();
174:                 list.add(diagnostic(league));
175:                 list.add(diagnostic(player));
176:                 service.setResult(list);
177:                 assertEquals(list, listener.getDiagnostic());
178:         }
179:
180:         @Test
181:         public void testResultArray() {
182:                 service.register(listener);
183:                 final Diagnostic[] array = new Diagnostic[2];
184:                 array[0] = diagnostic(league);
185:                 array[1] = diagnostic(player);
186:                 service.setResult(array);
187:                 assertEquals(array, listener.getDiagnostic());
188:         }
189:
190:         private Set<EClassifier> classifiers(boolean player, boolean league) {
191:                 final Set<EClassifier> set = new LinkedHashSet<EClassifier>();
192:                 if (player) {
193:                         set.add(BowlingPackage.eINSTANCE.getPlayer());
194:                 }
195:                 if (league) {
196:                         set.add(BowlingPackage.eINSTANCE.getLeague());
197:                 }
198:                 return set;
199:         }
200:
201:         private Diagnostic diagnostic(EObject object) {
202:                 return createDiagnostic(Diagnostic.ERROR, "source", 0, "There is something wrong",
203:                         new Object[] { object }, new LinkedHashMap<Object, Object>());
204:         }
205:
206:         private Diagnostic createDiagnostic(int severity, String source, int code, String message, Object[] data,
207:                 Map<Object, Object> context) {
208:                 return new BasicDiagnostic(severity, source, code, message, data);
209:         }
210:
211:         private class ECPTestValidationResultListener implements ECPValidationResultServiceListener {
212:
213:                 private Object diagnostic;
214:
215:                 /**
216:                  * {@inheritDoc}
217:                  *
218:                  * @see org.eclipse.emf.ecp.ui.validation.ECPValidationResultService.ECPValidationResultServiceListener#resultChanged(java.lang.Object)
219:                  */
220:                 @Override
221:                 public void resultChanged(Object diagnostic) {
222:                         this.diagnostic = diagnostic;
223:                 }
224:
225:                 public Object getDiagnostic() {
226:                         return diagnostic;
227:                 }
228:
229:                 public void resetDiagnostic() {
230:                         diagnostic = null;
231:                         assertNull(diagnostic);
232:                 }
233:
234:         }
235:
236: }