1 package jdepend.framework; 2 3 import java.io.File ; 4 import java.io.IOException ; 5 import java.util.Collection ; 6 import java.util.Iterator ; 7 8 import junit.framework.TestCase; 9 10 21 22 public class ExampleTest extends TestCase { 23 24 private JDepend jdepend; 25 26 public String jdependHomeDirectory; 27 28 public ExampleTest(String name) { 29 super(name); 30 } 31 32 protected void setUp() throws IOException { 33 34 jdependHomeDirectory = System.getProperty("jdepend.home"); 35 if (jdependHomeDirectory == null) { 36 fail("Property 'jdepend.home' not defined"); 37 } 38 39 PackageFilter filter = new PackageFilter(); 40 filter.addPackage("java.*"); 41 filter.addPackage("javax.*"); 42 jdepend = new JDepend(filter); 43 44 String classesDir = 45 jdependHomeDirectory + File.separator + "build"; 46 47 jdepend.addDirectory(classesDir); 48 } 49 50 54 public void testOnePackageDistance() { 55 56 double ideal = 0.0; 57 double tolerance = 0.8; 58 59 jdepend.analyze(); 60 61 JavaPackage p = jdepend.getPackage("jdepend.framework"); 62 63 assertEquals("Distance exceeded: " + p.getName(), 64 ideal, p.distance(), tolerance); 65 } 66 67 71 public void testOnePackageHasNoCycles() { 72 73 jdepend.analyze(); 74 75 JavaPackage p = jdepend.getPackage("jdepend.framework"); 76 77 assertEquals("Cycles exist: " + p.getName(), 78 false, p.containsCycle()); 79 } 80 81 85 public void testAllPackagesDistance() { 86 87 double ideal = 0.0; 88 double tolerance = 1.0; 89 90 Collection packages = jdepend.analyze(); 91 92 for (Iterator iter = packages.iterator(); iter.hasNext();) { 93 JavaPackage p = (JavaPackage)iter.next(); 94 assertEquals("Distance exceeded: " + p.getName(), 95 ideal, p.distance(), tolerance); 96 } 97 } 98 99 103 public void testAllPackagesHaveNoCycles() { 104 105 Collection packages = jdepend.analyze(); 106 107 assertEquals("Cycles exist", false, jdepend.containsCycles()); 108 } 109 110 117 public void testDependencyConstraint() { 118 119 DependencyConstraint constraint = new DependencyConstraint(); 120 121 JavaPackage junitframework = constraint.addPackage("junit.framework"); 122 JavaPackage junitui = constraint.addPackage("junit.textui"); 123 JavaPackage framework = constraint.addPackage("jdepend.framework"); 124 JavaPackage text = constraint.addPackage("jdepend.textui"); 125 JavaPackage xml = constraint.addPackage("jdepend.xmlui"); 126 JavaPackage swing = constraint.addPackage("jdepend.swingui"); 127 128 framework.dependsUpon(junitframework); 129 framework.dependsUpon(junitui); 130 text.dependsUpon(framework); 131 xml.dependsUpon(text); 132 swing.dependsUpon(framework); 133 134 jdepend.analyze(); 135 136 assertEquals("Constraint mismatch", 137 true, jdepend.dependencyMatch(constraint)); 138 } 139 140 public static void main(String [] args) { 141 junit.textui.TestRunner.run(ExampleTest.class); 142 } 143 } | Popular Tags |