Skip to content

Package: EcoreHelperOneDependency_PTest

EcoreHelperOneDependency_PTest

nameinstructionbranchcomplexitylinemethod
EcoreHelperOneDependency_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%
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: 2 C: 14
88%
M: 1 C: 1
50%
M: 1 C: 1
50%
M: 1 C: 6
86%
M: 0 C: 1
100%
static {...}
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%
tearDown()
M: 0 C: 7
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
testBulkRegisterUnregister()
M: 0 C: 41
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 15
100%
M: 0 C: 1
100%
testEcoreReferencesRegisteredPackage()
M: 0 C: 41
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 15
100%
M: 0 C: 1
100%
testSeparateRegisterAndUnregister1()
M: 0 C: 69
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 25
100%
M: 0 C: 1
100%
testSeparateRegisterAndUnregister2()
M: 0 C: 69
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 25
100%
M: 0 C: 1
100%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2011-2018 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: * EclipseSource Munich - initial API and implementation
13: *
14: ******************************************************************************/
15: package org.eclipse.emf.ecp.ide.util.test;
16:
17: import static org.junit.Assert.assertFalse;
18: import static org.junit.Assert.assertTrue;
19:
20: import java.io.IOException;
21:
22: import org.eclipse.core.resources.IProject;
23: import org.eclipse.core.resources.IWorkspaceRoot;
24: import org.eclipse.core.resources.ResourcesPlugin;
25: import org.eclipse.core.runtime.NullProgressMonitor;
26: import org.eclipse.emf.ecore.EPackage;
27: import org.eclipse.emf.ecore.EPackage.Registry;
28: import org.eclipse.emf.ecp.ide.spi.util.EcoreHelper;
29: import org.eclipse.jface.resource.JFaceResources;
30: import org.junit.After;
31: import org.junit.BeforeClass;
32: import org.junit.Test;
33:
34: /**
35: * @author Alexandra Buzila
36: *
37: */
38: public class EcoreHelperOneDependency_PTest {
39:         private final Registry packageRegistry = EPackage.Registry.INSTANCE;
40:         private static String bEcorePath = "/TestEcoreHelperProjectResources/B.ecore";
41:         private static String aEcorePath = "/TestEcoreHelperProjectResources/A.ecore";
42:         private static String xEcorePath = "/TestEcoreHelperProjectResources/X.ecore";
43:
44:         // BEGIN SUPRESS CATCH EXCEPTION
45:         @BeforeClass
46:         public static void setUpBeforeClass() throws Exception {
47:                 try {
48:                         JFaceResources.getImageRegistry();
49:                 } catch (final RuntimeException e) {
50:                         // expected fail, some strange initialization error is happing
51:                 }
52:                 final IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
53:                 final IProject project = root.getProject("TestEcoreHelperProjectResources");
54:                 // create resources to register and unregister
55:•                if (!project.exists()) {
56:                         installResourcesProject();
57:                 }
58:         }
59:
60:         private static void installResourcesProject() throws Exception {
61:                 final ProjectInstallerWizard wiz = new ProjectInstallerWizard();
62:                 wiz.installExample(new NullProgressMonitor());
63:         }
64:         // END SUPRESS CATCH EXCEPTION
65:
66:         @After
67:         public void tearDown() throws Exception {
68:                 EcoreHelper.unregisterEcore(bEcorePath);
69:                 EcoreHelper.unregisterEcore(aEcorePath);
70:                 EcoreHelper.unregisterEcore(xEcorePath);
71:         }
72:
73:         @Test
74:         public void testBulkRegisterUnregister() throws IOException {
75:
76:                 // check initial state
77:                 assertFalse("Package A is already in the registry!",
78:                         packageRegistry.containsKey("a.nsuri"));
79:                 assertFalse("Package B is already in the registry!",
80:                         packageRegistry.containsKey("b.nsuri"));
81:
82:                 // register B references A
83:                 EcoreHelper.registerEcore(bEcorePath);
84:                 assertTrue("Package A not in the registry!",
85:                         packageRegistry.containsKey("a.nsuri"));
86:                 assertTrue("Package B not in the registry!",
87:                         packageRegistry.containsKey("b.nsuri"));
88:
89:                 // unregister B references A
90:                 EcoreHelper.unregisterEcore(bEcorePath);
91:                 assertFalse("Package A is still in the registry!",
92:                         packageRegistry.containsKey("a.nsuri"));
93:                 assertFalse("Package B is still in the registry!",
94:                         packageRegistry.containsKey("b.nsuri"));
95:         }
96:
97:         @Test
98:         public void testSeparateRegisterAndUnregister1() throws IOException {
99:                 // check initial state
100:                 assertFalse("Package A is already in the registry!",
101:                         packageRegistry.containsKey("a.nsuri"));
102:                 assertFalse("Package B is already in the registry!",
103:                         packageRegistry.containsKey("b.nsuri"));
104:
105:                 // first package in the registry
106:                 EcoreHelper.registerEcore(aEcorePath);
107:                 assertTrue("Package A not in the registry!",
108:                         packageRegistry.containsKey("a.nsuri"));
109:                 assertFalse("Package B is still in the registry!",
110:                         packageRegistry.containsKey("b.nsuri"));
111:
112:                 // second package in the registry (B references A)
113:                 EcoreHelper.registerEcore(bEcorePath);
114:                 assertTrue("Package A not in the registry!",
115:                         packageRegistry.containsKey("a.nsuri"));
116:                 assertTrue("Package B not in the registry!",
117:                         packageRegistry.containsKey("b.nsuri"));
118:
119:                 // unregister B references A
120:                 EcoreHelper.unregisterEcore(bEcorePath);
121:                 assertFalse("Package B is already in the registry!",
122:                         packageRegistry.containsKey("b.nsuri"));
123:                 assertTrue("Package A not in the registry!",
124:                         packageRegistry.containsKey("a.nsuri"));
125:
126:                 // unregister A
127:                 EcoreHelper.unregisterEcore(aEcorePath);
128:                 assertFalse("Package A is still in the registry!",
129:                         packageRegistry.containsKey("a.nsuri"));
130:                 assertFalse("Package B is still in the registry!",
131:                         packageRegistry.containsKey("b.nsuri"));
132:
133:         }
134:
135:         @Test
136:         public void testSeparateRegisterAndUnregister2() throws IOException {
137:                 // check initial state
138:                 assertFalse("Package A is already in the registry!",
139:                         packageRegistry.containsKey("a.nsuri"));
140:                 assertFalse("Package B is already in the registry!",
141:                         packageRegistry.containsKey("b.nsuri"));
142:
143:                 // first package in the registry
144:                 EcoreHelper.registerEcore(aEcorePath);
145:                 assertTrue("Package A not in the registry!",
146:                         packageRegistry.containsKey("a.nsuri"));
147:                 assertFalse("Package B is already in the registry!",
148:                         packageRegistry.containsKey("b.nsuri"));
149:
150:                 // second package in the registry (B references A)
151:                 EcoreHelper.registerEcore(bEcorePath);
152:                 assertTrue("Package A not in the registry!",
153:                         packageRegistry.containsKey("a.nsuri"));
154:                 assertTrue("Package B not in the registry!",
155:                         packageRegistry.containsKey("b.nsuri"));
156:
157:                 // unregister A
158:                 EcoreHelper.unregisterEcore(aEcorePath);
159:                 assertTrue("Package A not in the registry!",
160:                         packageRegistry.containsKey("a.nsuri"));
161:                 assertTrue("Package B not in the registry!",
162:                         packageRegistry.containsKey("b.nsuri"));
163:
164:                 // unregister B references A
165:                 EcoreHelper.unregisterEcore(bEcorePath);
166:                 assertFalse("Package B is still in the registry!",
167:                         packageRegistry.containsKey("b.nsuri"));
168:                 assertFalse("Package A is still in the registry!",
169:                         packageRegistry.containsKey("a.nsuri"));
170:
171:         }
172:
173:         @Test
174:         public void testEcoreReferencesRegisteredPackage() throws IOException {
175:                 // check initial state
176:                 assertFalse("Package X is already in the registry!",
177:                         packageRegistry.containsKey("x.nsuri"));
178:                 assertTrue("Package http://www.eclipse.org/emf/2002/Ecore is not in the registry!",
179:                         packageRegistry.containsKey("http://www.eclipse.org/emf/2002/Ecore"));
180:
181:                 // register X references Ecore
182:                 EcoreHelper.registerEcore(xEcorePath);
183:                 assertTrue("Package X not in the registry!",
184:                         packageRegistry.containsKey("x.nsuri"));
185:                 assertTrue("Package http://www.eclipse.org/emf/2002/Ecore is not in the registry!",
186:                         packageRegistry.containsKey("http://www.eclipse.org/emf/2002/Ecore"));
187:
188:                 // unregister X references Ecore
189:                 EcoreHelper.unregisterEcore(xEcorePath);
190:                 assertFalse("Package X is still in the registry!",
191:                         packageRegistry.containsKey("x.nsuri"));
192:                 assertTrue("Package http://www.eclipse.org/emf/2002/Ecore is not in the registry!",
193:                         packageRegistry.containsKey("http://www.eclipse.org/emf/2002/Ecore"));
194:
195:         }
196: }