1 32 33 package com.jeantessier.dependency; 34 35 import java.io.*; 36 import java.util.*; 37 38 import junit.framework.*; 39 40 public class TestGraphSummarizerWithScoping extends TestCase { 41 private RegularExpressionSelectionCriteria scopeCriteria; 42 private RegularExpressionSelectionCriteria filterCriteria; 43 private NodeFactory factory; 44 45 private Node a; 46 private Node a_A; 47 private Node a_A_a; 48 private Node a_A_b; 49 50 private Node b; 51 private Node b_B; 52 private Node b_B_b; 53 54 private List includeScope; 55 56 private GraphSummarizer summarizer; 57 58 protected void setUp() throws Exception { 59 scopeCriteria = new RegularExpressionSelectionCriteria(); 60 filterCriteria = new RegularExpressionSelectionCriteria(); 61 factory = new NodeFactory(); 62 63 a = factory.createPackage("a"); 64 a_A = factory.createClass("a.A"); 65 a_A_a = factory.createFeature("a.A.a"); 66 a_A_b = factory.createFeature("a.A.b"); 67 68 b = factory.createPackage("b"); 69 b_B = factory.createClass("b.B"); 70 b_B_b = factory.createFeature("b.B.b"); 71 72 a_A_a.addDependency(a_A_b); 73 a_A_a.addDependency(b_B_b); 74 75 includeScope = new LinkedList(); 76 includeScope.add("/^a/"); 77 78 scopeCriteria.setMatchingClasses(false); 79 scopeCriteria.setMatchingFeatures(false); 80 scopeCriteria.setGlobalIncludes(includeScope); 81 filterCriteria.setMatchingClasses(false); 82 filterCriteria.setMatchingFeatures(false); 83 84 summarizer = new GraphSummarizer(scopeCriteria, filterCriteria); 85 } 86 87 public void testIncludeF2F() { 88 summarizer.traverseNodes(factory.getPackages().values()); 89 90 assertTrue(summarizer.getScopeFactory().createPackage("a").getInboundDependencies().isEmpty()); 91 assertEquals(summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().toString(), 92 1, 93 summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().size()); 94 assertTrue(summarizer.getScopeFactory().createPackage("a").getOutboundDependencies().contains(b)); 95 } 96 } 97 | Popular Tags |