Skip to content

Package: PackageDependencyIterator_Test

PackageDependencyIterator_Test

nameinstructionbranchcomplexitylinemethod
PackageDependencyIterator_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%
beforeClass()
M: 0 C: 31
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 11
100%
M: 0 C: 1
100%
testIteratorWithCircleAtStart()
M: 0 C: 51
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 14
100%
M: 0 C: 1
100%
testIteratorWithCircles()
M: 0 C: 74
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 20
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.assertFalse;
18: import static org.junit.Assert.assertTrue;
19:
20: import java.util.Iterator;
21: import java.util.Set;
22:
23: import org.eclipse.emf.ecp.view.edapt.util.test.model.a.EdaptTestAPackage;
24: import org.eclipse.emf.ecp.view.edapt.util.test.model.b.EdaptTestBPackage;
25: import org.eclipse.emf.ecp.view.edapt.util.test.model.c.EdaptTestCPackage;
26: import org.eclipse.emf.ecp.view.edapt.util.test.model.d.EdaptTestDPackage;
27: import org.eclipse.emf.ecp.view.edapt.util.test.model.e.EdaptTestEPackage;
28: import org.eclipse.emf.ecp.view.edapt.util.test.model.f.EdaptTestFPackage;
29: import org.eclipse.emf.ecp.view.edapt.util.test.model.w.EdaptTestWPackage;
30: import org.eclipse.emf.ecp.view.edapt.util.test.model.x.EdaptTestXPackage;
31: import org.eclipse.emf.ecp.view.edapt.util.test.model.y.EdaptTestYPackage;
32: import org.eclipse.emf.ecp.view.edapt.util.test.model.z.EdaptTestZPackage;
33: import org.junit.BeforeClass;
34: import org.junit.Test;
35:
36: /**
37: * Tests the {@link PackageDependencyIterator}. Setup is performed via {@link PackageDependencyGraph}, so this is a
38: * integration test between the two components.
39: *
40: * @author jfaltermeier
41: *
42: */
43: public class PackageDependencyIterator_Test {
44:
45:         @BeforeClass
46:         public static void beforeClass() {
47:                 // non osgi -> register epackages by hand
48:                 EdaptTestAPackage.eINSTANCE.eClass();
49:                 EdaptTestBPackage.eINSTANCE.eClass();
50:                 EdaptTestCPackage.eINSTANCE.eClass();
51:                 EdaptTestDPackage.eINSTANCE.eClass();
52:                 EdaptTestEPackage.eINSTANCE.eClass();
53:                 EdaptTestFPackage.eINSTANCE.eClass();
54:                 EdaptTestWPackage.eINSTANCE.eClass();
55:                 EdaptTestXPackage.eINSTANCE.eClass();
56:                 EdaptTestYPackage.eINSTANCE.eClass();
57:                 EdaptTestZPackage.eINSTANCE.eClass();
58:         }
59:
60:         @Test
61:         public void testIteratorWithCircles() {
62:                 final PackageDependencyGraph packageDependencyTree = new PackageDependencyGraph();
63:                 packageDependencyTree.addPackage(EdaptTestFPackage.eNS_URI);
64:                 final Iterator<Set<String>> iterator = packageDependencyTree.getIerator();
65:
66:                 // A
67:                 assertTrue(iterator.hasNext());
68:                 final Set<String> aSet = iterator.next();
69:                 assertEquals(1, aSet.size());
70:                 assertTrue(aSet.contains(EdaptTestAPackage.eNS_URI));
71:
72:                 // B C D
73:                 assertTrue(iterator.hasNext());
74:                 final Set<String> bcdSet = iterator.next();
75:                 assertEquals(3, bcdSet.size());
76:                 assertTrue(bcdSet.contains(EdaptTestBPackage.eNS_URI));
77:                 assertTrue(bcdSet.contains(EdaptTestCPackage.eNS_URI));
78:                 assertTrue(bcdSet.contains(EdaptTestDPackage.eNS_URI));
79:
80:                 // E F
81:                 assertTrue(iterator.hasNext());
82:                 final Set<String> efSet = iterator.next();
83:                 assertEquals(2, efSet.size());
84:                 assertTrue(efSet.contains(EdaptTestEPackage.eNS_URI));
85:                 assertTrue(efSet.contains(EdaptTestFPackage.eNS_URI));
86:                 assertFalse(iterator.hasNext());
87:         }
88:
89:         @Test
90:         public void testIteratorWithCircleAtStart() {
91:                 final PackageDependencyGraph packageDependencyTree = new PackageDependencyGraph();
92:                 packageDependencyTree.addPackage(EdaptTestZPackage.eNS_URI);
93:                 final Iterator<Set<String>> iterator = packageDependencyTree.getIerator();
94:
95:                 // W X
96:                 assertTrue(iterator.hasNext());
97:                 final Set<String> wxSet = iterator.next();
98:                 assertEquals(2, wxSet.size());
99:                 assertTrue(wxSet.contains(EdaptTestWPackage.eNS_URI));
100:                 assertTrue(wxSet.contains(EdaptTestXPackage.eNS_URI));
101:
102:                 // Y Z
103:                 assertTrue(iterator.hasNext());
104:                 final Set<String> yzSet = iterator.next();
105:                 assertEquals(2, yzSet.size());
106:                 assertTrue(yzSet.contains(EdaptTestYPackage.eNS_URI));
107:                 assertTrue(yzSet.contains(EdaptTestZPackage.eNS_URI));
108:         }
109:
110: }