Skip to content

Package: EcoreHelperSubpackages_PTest

EcoreHelperSubpackages_PTest

nameinstructionbranchcomplexitylinemethod
EcoreHelperSubpackages_PTest()
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
cleanupAfterClass()
M: 4 C: 3
43%
M: 1 C: 1
50%
M: 1 C: 1
50%
M: 2 C: 2
50%
M: 0 C: 1
100%
installResourcesProject()
M: 10 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
setUpBeforeClass()
M: 6 C: 14
70%
M: 1 C: 1
50%
M: 1 C: 1
50%
M: 2 C: 6
75%
M: 0 C: 1
100%
tearDown()
M: 0 C: 5
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
testRegisteringRootPackage()
M: 0 C: 51
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 18
100%
M: 0 C: 1
100%
testRegisteringUnregisteringViaReference()
M: 0 C: 129
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 45
100%
M: 0 C: 1
100%
testRegisteringUnregisteringViaReference_DifferentOrder()
M: 0 C: 129
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 45
100%
M: 0 C: 1
100%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2011-2015 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: * Alexandra Buzila - initial API and implementation
13: ******************************************************************************/
14: package org.eclipse.emf.ecp.ide.util.test;
15:
16: import static org.junit.Assert.assertFalse;
17: import static org.junit.Assert.assertTrue;
18:
19: import java.io.IOException;
20:
21: import org.eclipse.core.resources.IProject;
22: import org.eclipse.core.resources.IWorkspaceRoot;
23: import org.eclipse.core.resources.ResourcesPlugin;
24: import org.eclipse.core.runtime.NullProgressMonitor;
25: import org.eclipse.emf.ecore.EPackage;
26: import org.eclipse.emf.ecore.EPackage.Registry;
27: import org.eclipse.emf.ecp.ide.spi.util.EcoreHelper;
28: import org.eclipse.jface.resource.JFaceResources;
29: import org.eclipse.swt.widgets.Shell;
30: import org.junit.After;
31: import org.junit.AfterClass;
32: import org.junit.BeforeClass;
33: import org.junit.Test;
34:
35: /**
36: * @author Alexandra Buzila
37: *
38: */
39: public class EcoreHelperSubpackages_PTest {
40:         private static Shell SHELL;
41:         private final Registry packageRegistry = EPackage.Registry.INSTANCE;
42:         private static final String ECORE_1_PATH = "/TestEcoreHelperProjectResources/testSubpackages1.ecore";
43:         private static final String ECORE_2_PATH = "/TestEcoreHelperProjectResources/testSubpackages2.ecore";
44:         private static final String ROOT_1_NS_URI = "http://testSubpackages1_root";
45:         private static final String ROOT_2_NS_URI = "http://testSubpackages2_root";
46:         private static final String SUBPACKAGE1_1_NS_URI = "http://testSubpackages1_subpackage1";
47:         private static final String SUBPACKAGE1_2_NS_URI = "http://testSubpackages1_subpackage2";
48:         private static final String SUBPACKAGE1_3_NS_URI = "http://testSubpackages1_subpackage3";
49:
50:         // BEGIN SUPRESS CATCH EXCEPTION
51:         @BeforeClass
52:         public static void setUpBeforeClass() throws Exception {
53:                 try {
54:                         JFaceResources.getImageRegistry();
55:                 } catch (final RuntimeException e) {
56:                         // expected fail, some strange initialization error is happing
57:                 }
58:                 final IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
59:                 final IProject project = root.getProject("TestEcoreHelperProjectResources");
60:                 // create resources to register and unregister
61:•                if (!project.exists()) {
62:                         SHELL = new Shell();
63:                         installResourcesProject();
64:                 }
65:         }
66:
67:         @AfterClass
68:         public static void cleanupAfterClass() throws Exception {
69:•                if (SHELL != null) {
70:                         SHELL.dispose();
71:                         SHELL = null;
72:                 }
73:         }
74:
75:         private static void installResourcesProject() throws Exception {
76:                 final ProjectInstallerWizard wiz = new ProjectInstallerWizard();
77:                 wiz.installExample(new NullProgressMonitor());
78:         }
79:         // END SUPRESS CATCH EXCEPTION
80:
81:         @Test
82:         public void testRegisteringRootPackage() throws IOException {
83:                 // check initial state
84:                 assertFalse("Root Package is already in the registry!",
85:                         packageRegistry.containsKey(ROOT_1_NS_URI));
86:                 assertFalse("Subpackage 1 is already in the registry!",
87:                         packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
88:                 assertFalse("Subpackage 2 is already in the registry!",
89:                         packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
90:                 assertFalse("Subpackage 3 is already in the registry!",
91:                         packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
92:
93:                 EcoreHelper.registerEcore(ECORE_1_PATH);
94:
95:                 assertTrue("Root Package is not in the registry!",
96:                         packageRegistry.containsKey(ROOT_1_NS_URI));
97:                 assertTrue("Subpackage 1 is not in the registry!",
98:                         packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
99:                 assertTrue("Subpackage 2 is not in the registry!",
100:                         packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
101:                 assertTrue("Subpackage 3 is not in the registry!",
102:                         packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
103:
104:         }
105:
106:         @Test
107:         public void testRegisteringUnregisteringViaReference() throws IOException {
108:                 // check initial state
109:                 assertFalse("Root Package is already in the registry!",
110:                         packageRegistry.containsKey(ROOT_1_NS_URI));
111:                 assertFalse("Root Package is already in the registry!",
112:                         packageRegistry.containsKey(ROOT_2_NS_URI));
113:                 assertFalse("Subpackage 1 is already in the registry!",
114:                         packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
115:                 assertFalse("Subpackage 2 is already in the registry!",
116:                         packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
117:                 assertFalse("Subpackage 3 is already in the registry!",
118:                         packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
119:
120:                 EcoreHelper.registerEcore(ECORE_2_PATH);
121:
122:                 assertTrue("Root Package is not in the registry!",
123:                         packageRegistry.containsKey(ROOT_1_NS_URI));
124:                 assertTrue("Root Package is not in the registry!",
125:                         packageRegistry.containsKey(ROOT_2_NS_URI));
126:                 assertTrue("Subpackage 1 is not in the registry!",
127:                         packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
128:                 assertTrue("Subpackage 2 is not in the registry!",
129:                         packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
130:                 assertTrue("Subpackage 3 is not in the registry!",
131:                         packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
132:
133:                 EcoreHelper.registerEcore(ECORE_1_PATH);
134:
135:                 EcoreHelper.unregisterEcore(ECORE_2_PATH);
136:
137:                 assertTrue("Root Package 1 is not in the registry!",
138:                         packageRegistry.containsKey(ROOT_1_NS_URI));
139:                 assertFalse("Root Package 2 is still in the registry!",
140:                         packageRegistry.containsKey(ROOT_2_NS_URI));
141:                 assertTrue("Subpackage 1 is not in the registry!",
142:                         packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
143:                 assertTrue("Subpackage 2 is not in the registry!",
144:                         packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
145:                 assertTrue("Subpackage 3 is not in the registry!",
146:                         packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
147:
148:                 EcoreHelper.unregisterEcore(ECORE_1_PATH);
149:
150:                 assertFalse("Root Package 1 is still in the registry!",
151:                         packageRegistry.containsKey(ROOT_1_NS_URI));
152:                 assertFalse("Root Package 2 is still in the registry!",
153:                         packageRegistry.containsKey(ROOT_2_NS_URI));
154:                 assertFalse("Subpackage 1 is still in the registry!",
155:                         packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
156:                 assertFalse("Subpackage 2 is still in the registry!",
157:                         packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
158:                 assertFalse("Subpackage 3 is still in the registry!",
159:                         packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
160:         }
161:
162:         @Test
163:         public void testRegisteringUnregisteringViaReference_DifferentOrder() throws IOException {
164:                 // check initial state
165:                 assertFalse("Root Package is already in the registry!",
166:                         packageRegistry.containsKey(ROOT_1_NS_URI));
167:                 assertFalse("Root Package is already in the registry!",
168:                         packageRegistry.containsKey(ROOT_2_NS_URI));
169:                 assertFalse("Subpackage 1 is already in the registry!",
170:                         packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
171:                 assertFalse("Subpackage 2 is already in the registry!",
172:                         packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
173:                 assertFalse("Subpackage 3 is already in the registry!",
174:                         packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
175:
176:                 EcoreHelper.registerEcore(ECORE_2_PATH);
177:
178:                 assertTrue("Root Package is not in the registry!",
179:                         packageRegistry.containsKey(ROOT_1_NS_URI));
180:                 assertTrue("Root Package is not in the registry!",
181:                         packageRegistry.containsKey(ROOT_2_NS_URI));
182:                 assertTrue("Subpackage 1 is not in the registry!",
183:                         packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
184:                 assertTrue("Subpackage 2 is not in the registry!",
185:                         packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
186:                 assertTrue("Subpackage 3 is not in the registry!",
187:                         packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
188:
189:                 EcoreHelper.registerEcore(ECORE_1_PATH);
190:
191:                 EcoreHelper.unregisterEcore(ECORE_1_PATH);
192:
193:                 assertTrue("Root Package 1 is not in the registry!",
194:                         packageRegistry.containsKey(ROOT_1_NS_URI));
195:                 assertTrue("Root Package 2 is not in the registry!",
196:                         packageRegistry.containsKey(ROOT_2_NS_URI));
197:                 assertTrue("Subpackage 1 is not in the registry!",
198:                         packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
199:                 assertTrue("Subpackage 2 is not in the registry!",
200:                         packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
201:                 assertTrue("Subpackage 3 is not in the registry!",
202:                         packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
203:
204:                 EcoreHelper.unregisterEcore(ECORE_2_PATH);
205:
206:                 assertFalse("Root Package 1 is still in the registry!",
207:                         packageRegistry.containsKey(ROOT_1_NS_URI));
208:                 assertFalse("Root Package 2 is still in the registry!",
209:                         packageRegistry.containsKey(ROOT_2_NS_URI));
210:                 assertFalse("Subpackage 1 is still in the registry!",
211:                         packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
212:                 assertFalse("Subpackage 2 is still in the registry!",
213:                         packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
214:                 assertFalse("Subpackage 3 is still in the registry!",
215:                         packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
216:         }
217:
218:         @After
219:         public void tearDown() throws Exception {
220:                 EcoreHelper.unregisterEcore(ECORE_1_PATH);
221:                 EcoreHelper.unregisterEcore(ECORE_2_PATH);
222:         }
223:
224: }