Skip to content

Package: PackageDependencyGraph_Test

PackageDependencyGraph_Test

nameinstructionbranchcomplexitylinemethod
PackageDependencyGraph_Test()
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%
assertNodes(Set, String[])
M: 31 C: 26
46%
M: 3 C: 3
50%
M: 2 C: 2
50%
M: 6 C: 5
45%
M: 0 C: 1
100%
beforeClass()
M: 0 C: 19
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 7
100%
M: 0 C: 1
100%
testRegisterNodesCheckNodes()
M: 0 C: 216
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 33
100%
M: 0 C: 1
100%
testRegisterNodesDependenciesRegistered()
M: 0 C: 82
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 22
100%
M: 0 C: 1
100%
testRegisterNodesDependenciesRegisteredBottom()
M: 0 C: 40
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 11
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: * jfaltermeier - initial API and implementation
13: ******************************************************************************/
14: package org.eclipse.emf.ecp.view.edapt;
15:
16: import static org.junit.Assert.assertEquals;
17: import static org.junit.Assert.assertTrue;
18: import static org.junit.Assert.fail;
19:
20: import java.util.Arrays;
21: import java.util.LinkedHashSet;
22: import java.util.Map;
23: import java.util.Set;
24:
25: import org.eclipse.emf.ecp.view.edapt.PackageDependencyGraph.PackageTreeNode;
26: import org.eclipse.emf.ecp.view.edapt.util.test.model.a.EdaptTestAPackage;
27: import org.eclipse.emf.ecp.view.edapt.util.test.model.b.EdaptTestBPackage;
28: import org.eclipse.emf.ecp.view.edapt.util.test.model.c.EdaptTestCPackage;
29: import org.eclipse.emf.ecp.view.edapt.util.test.model.d.EdaptTestDPackage;
30: import org.eclipse.emf.ecp.view.edapt.util.test.model.e.EdaptTestEPackage;
31: import org.eclipse.emf.ecp.view.edapt.util.test.model.f.EdaptTestFPackage;
32: import org.junit.BeforeClass;
33: import org.junit.Test;
34:
35: /**
36: *
37: * Tests for {@link PackageDependencyGraph}.
38: *
39: * @author jfaltermeier
40: *
41: */
42: public class PackageDependencyGraph_Test {
43:
44:         @BeforeClass
45:         public static void beforeClass() {
46:                 // non osgi -> register epackages by hand
47:                 EdaptTestAPackage.eINSTANCE.eClass();
48:                 EdaptTestBPackage.eINSTANCE.eClass();
49:                 EdaptTestCPackage.eINSTANCE.eClass();
50:                 EdaptTestDPackage.eINSTANCE.eClass();
51:                 EdaptTestEPackage.eINSTANCE.eClass();
52:                 EdaptTestFPackage.eINSTANCE.eClass();
53:         }
54:
55:         @Test
56:         public void testRegisterNodesDependenciesRegistered() {
57:                 final PackageDependencyGraph dependencyTree = new PackageDependencyGraph();
58:
59:                 // add A
60:                 dependencyTree.addPackage(EdaptTestAPackage.eNS_URI);
61:                 final Map<String, PackageTreeNode> aMap = dependencyTree.getNsURIToNodeMap();
62:                 assertEquals(1, aMap.size());
63:                 assertTrue(aMap.containsKey(EdaptTestAPackage.eNS_URI));
64:
65:                 // add B
66:                 dependencyTree.addPackage(EdaptTestBPackage.eNS_URI);
67:                 final Map<String, PackageTreeNode> abcdMap = dependencyTree.getNsURIToNodeMap();
68:                 assertEquals(4, abcdMap.size());
69:                 assertTrue(abcdMap.containsKey(EdaptTestAPackage.eNS_URI));
70:                 assertTrue(abcdMap.containsKey(EdaptTestBPackage.eNS_URI));
71:                 assertTrue(abcdMap.containsKey(EdaptTestCPackage.eNS_URI));
72:                 assertTrue(abcdMap.containsKey(EdaptTestDPackage.eNS_URI));
73:
74:                 // add E
75:                 dependencyTree.addPackage(EdaptTestEPackage.eNS_URI);
76:                 final Map<String, PackageTreeNode> abcdefMap = dependencyTree.getNsURIToNodeMap();
77:                 assertEquals(6, abcdefMap.size());
78:                 assertTrue(abcdefMap.containsKey(EdaptTestAPackage.eNS_URI));
79:                 assertTrue(abcdefMap.containsKey(EdaptTestBPackage.eNS_URI));
80:                 assertTrue(abcdefMap.containsKey(EdaptTestCPackage.eNS_URI));
81:                 assertTrue(abcdefMap.containsKey(EdaptTestDPackage.eNS_URI));
82:                 assertTrue(abcdefMap.containsKey(EdaptTestEPackage.eNS_URI));
83:                 assertTrue(abcdefMap.containsKey(EdaptTestFPackage.eNS_URI));
84:         }
85:
86:         @Test
87:         public void testRegisterNodesDependenciesRegisteredBottom() {
88:                 final PackageDependencyGraph dependencyTree = new PackageDependencyGraph();
89:
90:                 // add F
91:                 dependencyTree.addPackage(EdaptTestFPackage.eNS_URI);
92:                 final Map<String, PackageTreeNode> abcdefMap = dependencyTree.getNsURIToNodeMap();
93:                 assertEquals(6, abcdefMap.size());
94:                 assertTrue(abcdefMap.containsKey(EdaptTestAPackage.eNS_URI));
95:                 assertTrue(abcdefMap.containsKey(EdaptTestBPackage.eNS_URI));
96:                 assertTrue(abcdefMap.containsKey(EdaptTestCPackage.eNS_URI));
97:                 assertTrue(abcdefMap.containsKey(EdaptTestDPackage.eNS_URI));
98:                 assertTrue(abcdefMap.containsKey(EdaptTestEPackage.eNS_URI));
99:                 assertTrue(abcdefMap.containsKey(EdaptTestFPackage.eNS_URI));
100:         }
101:
102:         @Test
103:         public void testRegisterNodesCheckNodes() {
104:                 final PackageDependencyGraph dependencyTree = new PackageDependencyGraph();
105:
106:                 // add F
107:                 dependencyTree.addPackage(EdaptTestFPackage.eNS_URI);
108:                 final Map<String, PackageTreeNode> map = dependencyTree.getNsURIToNodeMap();
109:
110:                 final PackageTreeNode aNode = map.get(EdaptTestAPackage.eNS_URI);
111:                 assertEquals(0, aNode.getParents().size());
112:                 assertEquals(1, aNode.getChildren().size());
113:                 assertEquals(EdaptTestBPackage.eNS_URI, aNode.getChildren().iterator().next().getNSURI());
114:
115:                 final PackageTreeNode bNode = map.get(EdaptTestBPackage.eNS_URI);
116:                 assertEquals(2, bNode.getParents().size());
117:                 assertNodes(bNode.getParents(), EdaptTestAPackage.eNS_URI, EdaptTestCPackage.eNS_URI);
118:                 assertEquals(1, bNode.getChildren().size());
119:                 assertEquals(EdaptTestDPackage.eNS_URI, bNode.getChildren().iterator().next().getNSURI());
120:
121:                 final PackageTreeNode cNode = map.get(EdaptTestCPackage.eNS_URI);
122:                 assertEquals(1, cNode.getParents().size());
123:                 assertEquals(EdaptTestDPackage.eNS_URI, cNode.getParents().iterator().next().getNSURI());
124:                 assertEquals(1, cNode.getChildren().size());
125:                 assertEquals(EdaptTestBPackage.eNS_URI, cNode.getChildren().iterator().next().getNSURI());
126:
127:                 final PackageTreeNode dNode = map.get(EdaptTestDPackage.eNS_URI);
128:                 assertEquals(1, dNode.getParents().size());
129:                 assertEquals(EdaptTestBPackage.eNS_URI, dNode.getParents().iterator().next().getNSURI());
130:                 assertEquals(2, dNode.getChildren().size());
131:                 assertNodes(dNode.getChildren(), EdaptTestCPackage.eNS_URI, EdaptTestEPackage.eNS_URI);
132:
133:                 final PackageTreeNode eNode = map.get(EdaptTestEPackage.eNS_URI);
134:                 assertEquals(2, eNode.getParents().size());
135:                 assertNodes(eNode.getParents(), EdaptTestDPackage.eNS_URI, EdaptTestFPackage.eNS_URI);
136:                 assertEquals(1, eNode.getChildren().size());
137:                 assertEquals(EdaptTestFPackage.eNS_URI, eNode.getChildren().iterator().next().getNSURI());
138:
139:                 final PackageTreeNode fNode = map.get(EdaptTestFPackage.eNS_URI);
140:                 assertEquals(1, fNode.getParents().size());
141:                 assertEquals(EdaptTestEPackage.eNS_URI, fNode.getParents().iterator().next().getNSURI());
142:                 assertEquals(1, fNode.getChildren().size());
143:                 assertEquals(EdaptTestEPackage.eNS_URI, fNode.getChildren().iterator().next().getNSURI());
144:
145:         }
146:
147:         private static void assertNodes(Set<PackageTreeNode> actual, String... expected) {
148:                 final Set<String> expectedNsURIs = new LinkedHashSet<String>(Arrays.asList(expected));
149:•                for (final PackageTreeNode node : actual) {
150:                         expectedNsURIs.remove(node.getNSURI());
151:                 }
152:•                if (expectedNsURIs.isEmpty()) {
153:                         return;
154:                 }
155:                 final StringBuilder stringBuilder = new StringBuilder(
156:                         "The following expected nsURIs were not in the actual set: ");
157:•                for (final String uri : expectedNsURIs) {
158:                         stringBuilder.append(uri + " ");
159:                 }
160:                 fail(stringBuilder.toString());
161:         }
162:
163: }