EMMA Coverage Report (generated Mon Nov 29 14:43:38 PST 2010)
[all classes][com.jeantessier.dependency]

COVERAGE SUMMARY FOR SOURCE FILE [TestGraphSummarizer.java]

nameclass, %method, %block, %line, %
TestGraphSummarizer.java100% (1/1)100% (19/19)100% (3148/3148)100% (356/356)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class TestGraphSummarizer100% (1/1)100% (19/19)100% (3148/3148)100% (356/356)
TestGraphSummarizer (): void 100% (1/1)100% (3/3)100% (1/1)
setUp (): void 100% (1/1)100% (82/82)100% (13/13)
tearDown (): void 100% (1/1)100% (14/14)100% (2/2)
testC2CasC2C (): void 100% (1/1)100% (195/195)100% (22/22)
testC2CasF2F (): void 100% (1/1)100% (221/221)100% (25/25)
testC2CasP2CSamePackage (): void 100% (1/1)100% (117/117)100% (15/15)
testC2CasP2P (): void 100% (1/1)100% (143/143)100% (17/17)
testC2CasPCF2PCF (): void 100% (1/1)100% (231/231)100% (23/23)
testF2CasC2C (): void 100% (1/1)100% (195/195)100% (22/22)
testF2CasF2F (): void 100% (1/1)100% (221/221)100% (25/25)
testF2CasP2P (): void 100% (1/1)100% (143/143)100% (17/17)
testF2FasC2C (): void 100% (1/1)100% (195/195)100% (22/22)
testF2FasF2F (): void 100% (1/1)100% (247/247)100% (27/27)
testF2FasP2P (): void 100% (1/1)100% (143/143)100% (17/17)
testF2FasPCF2PCF (): void 100% (1/1)100% (231/231)100% (23/23)
testP2PasC2C (): void 100% (1/1)100% (170/170)100% (20/20)
testP2PasF2F (): void 100% (1/1)100% (221/221)100% (25/25)
testP2PasP2P (): void 100% (1/1)100% (145/145)100% (17/17)
testP2PasPCF2PCF (): void 100% (1/1)100% (231/231)100% (23/23)

1/*
2 *  Copyright (c) 2001-2009, Jean Tessier
3 *  All rights reserved.
4 *  
5 *  Redistribution and use in source and binary forms, with or without
6 *  modification, are permitted provided that the following conditions
7 *  are met:
8 *  
9 *      * Redistributions of source code must retain the above copyright
10 *        notice, this list of conditions and the following disclaimer.
11 *  
12 *      * Redistributions in binary form must reproduce the above copyright
13 *        notice, this list of conditions and the following disclaimer in the
14 *        documentation and/or other materials provided with the distribution.
15 *  
16 *      * Neither the name of Jean Tessier nor the names of his contributors
17 *        may be used to endorse or promote products derived from this software
18 *        without specific prior written permission.
19 *  
20 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 *  A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR
24 *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32 
33package com.jeantessier.dependency;
34 
35import junit.framework.*;
36import org.apache.log4j.*;
37 
38public class TestGraphSummarizer extends TestCase {
39    private RegularExpressionSelectionCriteria scopeCriteria;
40    private RegularExpressionSelectionCriteria filterCriteria;
41    private NodeFactory                        factory;
42    
43    private Node a_package;
44    private Node a_A_class;
45    private Node a_A_a_method;
46    private Node a_B_class;
47 
48    private Node b_package;
49    private Node b_B_class;
50    private Node b_B_b_method;
51 
52    private GraphSummarizer summarizer;
53 
54    protected void setUp() throws Exception {
55        Logger.getLogger(getClass()).info("Starting test: " + getName());
56 
57        scopeCriteria  = new RegularExpressionSelectionCriteria("//");
58        filterCriteria = new RegularExpressionSelectionCriteria("//");
59        factory        = new NodeFactory();
60 
61        a_package = factory.createPackage("a");
62        a_A_class = factory.createClass("a.A");
63        a_A_a_method = factory.createFeature("a.A.a");
64        a_B_class = factory.createClass("a.B");
65        
66        b_package = factory.createPackage("b");
67        b_B_class = factory.createClass("b.B");
68        b_B_b_method = factory.createFeature("b.B.b");
69        
70        summarizer = new GraphSummarizer(scopeCriteria, filterCriteria);
71    }
72 
73    protected void tearDown() throws Exception {
74        Logger.getLogger(getClass()).info("End of " + getName());
75    }
76 
77    public void testP2PasP2P() {
78        a_package.addDependency(b_package);
79        
80        scopeCriteria.setMatchingClasses(false);
81        scopeCriteria.setMatchingFeatures(false);
82        filterCriteria.setMatchingClasses(false);
83        filterCriteria.setMatchingFeatures(false);
84 
85        summarizer.traverseNodes(factory.getPackages().values());
86 
87        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
88        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
89        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().isEmpty());
90        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().isEmpty());
91 
92        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
93        assertEquals(1, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
94        assertTrue(summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().contains(summarizer.getScopeFactory().createPackage("b")));
95        assertEquals(1, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
96        assertTrue(summarizer.getScopeFactory().createPackage("b").getInboundDependencies().contains(summarizer.getScopeFactory().createPackage("a")));
97        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
98    }
99 
100    public void testP2PasC2C() {
101        a_package.addDependency(b_package);
102        
103        scopeCriteria.setMatchingPackages(false);
104        scopeCriteria.setMatchingFeatures(false);
105        filterCriteria.setMatchingPackages(false);
106        filterCriteria.setMatchingFeatures(false);
107 
108        summarizer.traverseNodes(factory.getPackages().values());
109 
110        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
111        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
112        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("a.A"));
113        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("b.B"));
114        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().isEmpty());
115 
116        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
117        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
118        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
119        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
120 
121        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getInboundDependencies().size());
122        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getOutboundDependencies().size());
123        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getInboundDependencies().size());
124        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getOutboundDependencies().size());
125    }
126 
127    public void testP2PasF2F() {
128        a_package.addDependency(b_package);
129        
130        scopeCriteria.setMatchingPackages(false);
131        scopeCriteria.setMatchingClasses(false);
132        filterCriteria.setMatchingPackages(false);
133        filterCriteria.setMatchingClasses(false);
134 
135        summarizer.traverseNodes(factory.getPackages().values());
136 
137        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
138        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
139        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("a.A"));
140        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("b.B"));
141        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().contains("a.A.a"));
142        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().contains("b.B.b"));
143 
144        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
145        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
146        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
147        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
148 
149        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getInboundDependencies().size());
150        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getOutboundDependencies().size());
151        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getInboundDependencies().size());
152        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getOutboundDependencies().size());
153 
154        assertEquals(0, summarizer.getScopeFactory().createFeature("a.A.a").getInboundDependencies().size());
155        assertEquals(0, summarizer.getScopeFactory().createFeature("a.A.a").getOutboundDependencies().size());
156        assertEquals(0, summarizer.getScopeFactory().createFeature("b.B.b").getInboundDependencies().size());
157        assertEquals(0, summarizer.getScopeFactory().createFeature("b.B.b").getOutboundDependencies().size());
158    }
159 
160    public void testC2CasP2P() {
161        a_A_class.addDependency(b_B_class);
162        
163        scopeCriteria.setMatchingClasses(false);
164        scopeCriteria.setMatchingFeatures(false);
165        filterCriteria.setMatchingClasses(false);
166        filterCriteria.setMatchingFeatures(false);
167 
168        summarizer.traverseNodes(factory.getPackages().values());
169 
170        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
171        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
172        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().isEmpty());
173        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().isEmpty());
174 
175        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
176        assertEquals(1, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
177        assertTrue(summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().contains(summarizer.getScopeFactory().createPackage("b")));
178        assertEquals(1, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
179        assertTrue(summarizer.getScopeFactory().createPackage("b").getInboundDependencies().contains(summarizer.getScopeFactory().createPackage("a")));
180        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
181    }
182 
183    public void testC2CasP2CSamePackage() {
184        a_A_class.addDependency(a_B_class);
185        
186        scopeCriteria.setMatchingClasses(false);
187        scopeCriteria.setMatchingFeatures(false);
188        filterCriteria.setMatchingPackages(false);
189        filterCriteria.setMatchingFeatures(false);
190 
191        summarizer.traverseNodes(factory.getPackages().values());
192 
193        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
194        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
195        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().isEmpty());
196        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().isEmpty());
197 
198        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
199        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
200        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
201        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
202    }
203 
204    public void testC2CasC2C() {
205        a_A_class.addDependency(b_B_class);
206        
207        scopeCriteria.setMatchingPackages(false);
208        scopeCriteria.setMatchingFeatures(false);
209        filterCriteria.setMatchingPackages(false);
210        filterCriteria.setMatchingFeatures(false);
211 
212        summarizer.traverseNodes(factory.getPackages().values());
213 
214        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
215        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
216        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("a.A"));
217        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("b.B"));
218        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().isEmpty());
219 
220        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
221        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
222        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
223        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
224 
225        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getInboundDependencies().size());
226        assertEquals(1, summarizer.getScopeFactory().createClass("a.A").getOutboundDependencies().size());
227        assertTrue(summarizer.getScopeFactory().createClass("a.A").getOutboundDependencies().contains(summarizer.getScopeFactory().createClass("b.B")));
228        assertEquals(1, summarizer.getScopeFactory().createClass("b.B").getInboundDependencies().size());
229        assertTrue(summarizer.getScopeFactory().createClass("b.B").getInboundDependencies().contains(summarizer.getScopeFactory().createClass("a.A")));
230        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getOutboundDependencies().size());
231    }
232 
233    public void testC2CasF2F() {
234        a_A_class.addDependency(b_B_class);
235        
236        scopeCriteria.setMatchingPackages(false);
237        scopeCriteria.setMatchingClasses(false);
238        filterCriteria.setMatchingPackages(false);
239        filterCriteria.setMatchingClasses(false);
240 
241        summarizer.traverseNodes(factory.getPackages().values());
242 
243        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
244        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
245        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("a.A"));
246        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("b.B"));
247        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().contains("a.A.a"));
248        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().contains("b.B.b"));
249 
250        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
251        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
252        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
253        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
254 
255        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getInboundDependencies().size());
256        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getOutboundDependencies().size());
257        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getInboundDependencies().size());
258        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getOutboundDependencies().size());
259 
260        assertEquals(0, summarizer.getScopeFactory().createFeature("a.A.a").getInboundDependencies().size());
261        assertEquals(0, summarizer.getScopeFactory().createFeature("a.A.a").getOutboundDependencies().size());
262        assertEquals(0, summarizer.getScopeFactory().createFeature("b.B.b").getInboundDependencies().size());
263        assertEquals(0, summarizer.getScopeFactory().createFeature("b.B.b").getOutboundDependencies().size());
264    }
265 
266    public void testF2FasP2P() {
267        a_A_a_method.addDependency(b_B_b_method);
268        
269        scopeCriteria.setMatchingClasses(false);
270        scopeCriteria.setMatchingFeatures(false);
271        filterCriteria.setMatchingClasses(false);
272        filterCriteria.setMatchingFeatures(false);
273 
274        summarizer.traverseNodes(factory.getPackages().values());
275 
276        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
277        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
278        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().isEmpty());
279        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().isEmpty());
280 
281        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
282        assertEquals(1, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
283        assertTrue(summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().contains(summarizer.getScopeFactory().createPackage("b")));
284        assertEquals(1, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
285        assertTrue(summarizer.getScopeFactory().createPackage("b").getInboundDependencies().contains(summarizer.getScopeFactory().createPackage("a")));
286        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
287    }
288 
289    public void testF2FasC2C() {
290        a_A_a_method.addDependency(b_B_b_method);
291        
292        scopeCriteria.setMatchingPackages(false);
293        scopeCriteria.setMatchingFeatures(false);
294        filterCriteria.setMatchingPackages(false);
295        filterCriteria.setMatchingFeatures(false);
296 
297        summarizer.traverseNodes(factory.getPackages().values());
298 
299        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
300        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
301        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("a.A"));
302        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("b.B"));
303        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().isEmpty());
304 
305        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
306        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
307        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
308        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
309 
310        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getInboundDependencies().size());
311        assertEquals(1, summarizer.getScopeFactory().createClass("a.A").getOutboundDependencies().size());
312        assertTrue(summarizer.getScopeFactory().createClass("a.A").getOutboundDependencies().contains(summarizer.getScopeFactory().createClass("b.B")));
313        assertEquals(1, summarizer.getScopeFactory().createClass("b.B").getInboundDependencies().size());
314        assertTrue(summarizer.getScopeFactory().createClass("b.B").getInboundDependencies().contains(summarizer.getScopeFactory().createClass("a.A")));
315        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getOutboundDependencies().size());
316    }
317 
318    public void testF2FasF2F() {
319        a_A_a_method.addDependency(b_B_b_method);
320        
321        scopeCriteria.setMatchingPackages(false);
322        scopeCriteria.setMatchingClasses(false);
323        filterCriteria.setMatchingPackages(false);
324        filterCriteria.setMatchingClasses(false);
325 
326        summarizer.traverseNodes(factory.getPackages().values());
327 
328        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
329        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
330        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("a.A"));
331        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("b.B"));
332        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().contains("a.A.a"));
333        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().contains("b.B.b"));
334 
335        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
336        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
337        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
338        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
339 
340        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getInboundDependencies().size());
341        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getOutboundDependencies().size());
342        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getInboundDependencies().size());
343        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getOutboundDependencies().size());
344 
345        assertEquals(0, summarizer.getScopeFactory().createFeature("a.A.a").getInboundDependencies().size());
346        assertEquals(1, summarizer.getScopeFactory().createFeature("a.A.a").getOutboundDependencies().size());
347        assertTrue(summarizer.getScopeFactory().createFeature("a.A.a").getOutboundDependencies().contains(summarizer.getScopeFactory().createFeature("b.B.b")));
348        assertEquals(1, summarizer.getScopeFactory().createFeature("b.B.b").getInboundDependencies().size());
349        assertTrue(summarizer.getScopeFactory().createFeature("b.B.b").getInboundDependencies().contains(summarizer.getScopeFactory().createFeature("a.A.a")));
350        assertEquals(0, summarizer.getScopeFactory().createFeature("b.B.b").getOutboundDependencies().size());
351    }
352 
353    public void testF2CasP2P() {
354        a_A_a_method.addDependency(b_B_class);
355        
356        scopeCriteria.setMatchingClasses(false);
357        scopeCriteria.setMatchingFeatures(false);
358        filterCriteria.setMatchingClasses(false);
359        filterCriteria.setMatchingFeatures(false);
360 
361        summarizer.traverseNodes(factory.getPackages().values());
362 
363        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
364        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
365        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().isEmpty());
366        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().isEmpty());
367 
368        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
369        assertEquals(1, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
370        assertTrue(summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().contains(summarizer.getScopeFactory().createPackage("b")));
371        assertEquals(1, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
372        assertTrue(summarizer.getScopeFactory().createPackage("b").getInboundDependencies().contains(summarizer.getScopeFactory().createPackage("a")));
373        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
374    }
375 
376    public void testF2CasC2C() {
377        a_A_a_method.addDependency(b_B_class);
378        
379        scopeCriteria.setMatchingPackages(false);
380        scopeCriteria.setMatchingFeatures(false);
381        filterCriteria.setMatchingPackages(false);
382        filterCriteria.setMatchingFeatures(false);
383 
384        summarizer.traverseNodes(factory.getPackages().values());
385 
386        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
387        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
388        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("a.A"));
389        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("b.B"));
390        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().isEmpty());
391 
392        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
393        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
394        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
395        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
396 
397        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getInboundDependencies().size());
398        assertEquals(1, summarizer.getScopeFactory().createClass("a.A").getOutboundDependencies().size());
399        assertTrue(summarizer.getScopeFactory().createClass("a.A").getOutboundDependencies().contains(summarizer.getScopeFactory().createClass("b.B")));
400        assertEquals(1, summarizer.getScopeFactory().createClass("b.B").getInboundDependencies().size());
401        assertTrue(summarizer.getScopeFactory().createClass("b.B").getInboundDependencies().contains(summarizer.getScopeFactory().createClass("a.A")));
402        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getOutboundDependencies().size());
403    }
404 
405    public void testF2CasF2F() {
406        a_A_a_method.addDependency(b_B_class);
407        
408        scopeCriteria.setMatchingPackages(false);
409        scopeCriteria.setMatchingClasses(false);
410        filterCriteria.setMatchingPackages(false);
411        filterCriteria.setMatchingClasses(false);
412 
413        summarizer.traverseNodes(factory.getPackages().values());
414 
415        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
416        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
417        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("a.A"));
418        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("b.B"));
419        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().contains("a.A.a"));
420        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().contains("b.B.b"));
421 
422        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
423        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
424        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
425        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
426 
427        assertEquals(0, summarizer.getScopeFactory().createClass("a").getInboundDependencies().size());
428        assertEquals(0, summarizer.getScopeFactory().createClass("a").getOutboundDependencies().size());
429        assertEquals(0, summarizer.getScopeFactory().createClass("b").getInboundDependencies().size());
430        assertEquals(0, summarizer.getScopeFactory().createClass("b").getOutboundDependencies().size());
431 
432        assertEquals(0, summarizer.getScopeFactory().createFeature("a").getInboundDependencies().size());
433        assertEquals(0, summarizer.getScopeFactory().createFeature("a").getOutboundDependencies().size());
434        assertEquals(0, summarizer.getScopeFactory().createFeature("b").getInboundDependencies().size());
435        assertEquals(0, summarizer.getScopeFactory().createFeature("b").getOutboundDependencies().size());
436    }
437 
438    public void testF2FasPCF2PCF() {
439        a_A_a_method.addDependency(b_B_b_method);
440        
441        summarizer.traverseNodes(factory.getPackages().values());
442 
443        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
444        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
445        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("a.A"));
446        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("b.B"));
447        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().contains("a.A.a"));
448        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().contains("b.B.b"));
449 
450        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
451        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
452        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
453        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
454 
455        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getInboundDependencies().size());
456        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getOutboundDependencies().size());
457        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getInboundDependencies().size());
458        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getOutboundDependencies().size());
459 
460        assertEquals(0, summarizer.getScopeFactory().createFeature("a.A.a").getInboundDependencies().size());
461        assertEquals(1, summarizer.getScopeFactory().createFeature("a.A.a").getOutboundDependencies().size());
462        assertTrue(summarizer.getScopeFactory().createFeature("a.A.a").getOutboundDependencies().contains(summarizer.getScopeFactory().createFeature("b.B.b")));
463        assertEquals(1, summarizer.getScopeFactory().createFeature("b.B.b").getInboundDependencies().size());
464        assertTrue(summarizer.getScopeFactory().createFeature("b.B.b").getInboundDependencies().contains(summarizer.getScopeFactory().createFeature("a.A.a")));
465        assertEquals(0, summarizer.getScopeFactory().createFeature("b.B.b").getOutboundDependencies().size());
466    }
467 
468    public void testC2CasPCF2PCF() {
469        a_A_class.addDependency(b_B_class);
470        
471        summarizer.traverseNodes(factory.getPackages().values());
472 
473        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
474        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
475        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("a.A"));
476        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("b.B"));
477        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().contains("a.A.a"));
478        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().contains("b.B.b"));
479 
480        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
481        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
482        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
483        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
484 
485        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getInboundDependencies().size());
486        assertEquals(1, summarizer.getScopeFactory().createClass("a.A").getOutboundDependencies().size());
487        assertTrue(summarizer.getScopeFactory().createClass("a.A").getOutboundDependencies().contains(summarizer.getScopeFactory().createClass("b.B")));
488        assertEquals(1, summarizer.getScopeFactory().createClass("b.B").getInboundDependencies().size());
489        assertTrue(summarizer.getScopeFactory().createClass("b.B").getInboundDependencies().contains(summarizer.getScopeFactory().createClass("a.A")));
490        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getOutboundDependencies().size());
491 
492        assertEquals(0, summarizer.getScopeFactory().createFeature("a.A.a").getInboundDependencies().size());
493        assertEquals(0, summarizer.getScopeFactory().createFeature("a.A.a").getOutboundDependencies().size());
494        assertEquals(0, summarizer.getScopeFactory().createFeature("b.B.b").getInboundDependencies().size());
495        assertEquals(0, summarizer.getScopeFactory().createFeature("b.B.b").getOutboundDependencies().size());
496    }
497 
498    public void testP2PasPCF2PCF() {
499        a_package.addDependency(b_package);
500        
501        summarizer.traverseNodes(factory.getPackages().values());
502 
503        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("a"));
504        assertTrue(summarizer.getScopeFactory().getPackages().keySet().toString(), summarizer.getScopeFactory().getPackages().keySet().contains("b"));
505        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("a.A"));
506        assertTrue(summarizer.getScopeFactory().getClasses().keySet().toString(), summarizer.getScopeFactory().getClasses().keySet().contains("b.B"));
507        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().contains("a.A.a"));
508        assertTrue(summarizer.getScopeFactory().getFeatures().keySet().toString(), summarizer.getScopeFactory().getFeatures().keySet().contains("b.B.b"));
509 
510        assertEquals(0, summarizer.getScopeFactory().createPackage("a").getInboundDependencies().size());
511        assertEquals(1, summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size());
512        assertTrue(summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().contains(summarizer.getScopeFactory().createPackage("b")));
513        assertEquals(1, summarizer.getScopeFactory().createPackage("b").getInboundDependencies().size());
514        assertTrue(summarizer.getScopeFactory().createPackage("b").getInboundDependencies().contains(summarizer.getScopeFactory().createPackage("a")));
515        assertEquals(0, summarizer.getScopeFactory().createPackage("b").getOutboundDependencies().size());
516 
517        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getInboundDependencies().size());
518        assertEquals(0, summarizer.getScopeFactory().createClass("a.A").getOutboundDependencies().size());
519        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getInboundDependencies().size());
520        assertEquals(0, summarizer.getScopeFactory().createClass("b.B").getOutboundDependencies().size());
521 
522        assertEquals(0, summarizer.getScopeFactory().createFeature("a.A.a").getInboundDependencies().size());
523        assertEquals(0, summarizer.getScopeFactory().createFeature("a.A.a").getOutboundDependencies().size());
524        assertEquals(0, summarizer.getScopeFactory().createFeature("b.B.b").getInboundDependencies().size());
525        assertEquals(0, summarizer.getScopeFactory().createFeature("b.B.b").getOutboundDependencies().size());
526    }
527}

[all classes][com.jeantessier.dependency]
EMMA 2.0.5312 (C) Vladimir Roubtsov