KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jdepend > framework > ComponentTest


1 package jdepend.framework;
2
3 import java.io.IOException JavaDoc;
4 import java.text.NumberFormat JavaDoc;
5 import java.util.Collection JavaDoc;
6
7 /**
8  * @author <b>Mike Clark</b>
9  * @author Clarkware Consulting, Inc.
10  */

11
12 public class ComponentTest extends JDependTestCase {
13
14     private JDepend jdepend;
15     private static NumberFormat JavaDoc formatter;
16
17     static {
18         formatter = NumberFormat.getInstance();
19         formatter.setMaximumFractionDigits(2);
20     }
21     
22     public ComponentTest(String JavaDoc name) {
23         super(name);
24     }
25
26     protected void setUp() {
27         super.setUp();
28         jdepend = new JDepend();
29         jdepend.analyzeInnerClasses(false);
30     }
31
32     protected void tearDown() {
33         super.tearDown();
34     }
35     
36     public void testJDependComponents() throws IOException JavaDoc {
37
38         jdepend.setComponents("jdepend,junit,java,javax");
39         
40         jdepend.addDirectory(getBuildDir());
41         
42         jdepend.analyze();
43         
44         Collection JavaDoc packages = jdepend.getPackages();
45         assertEquals(4, packages.size());
46         
47         assertJDependPackage();
48         assertJUnitPackage();
49         assertJavaPackage();
50         assertJavaxPackage();
51     }
52
53     private void assertJDependPackage() {
54         JavaPackage p = jdepend.getPackage("jdepend");
55         assertEquals("jdepend", p.getName());
56         assertEquals(34, p.getConcreteClassCount());
57         assertEquals(5, p.getAbstractClassCount());
58         assertEquals(0, p.afferentCoupling());
59         assertEquals(3, p.efferentCoupling());
60         assertEquals(format(0.13f), format(p.abstractness()));
61         assertEquals("1", format(p.instability()));
62         assertEquals(format(0.13f), format(p.distance()));
63         assertEquals(1, p.getVolatility());
64         
65         Collection JavaDoc efferents = p.getEfferents();
66         assertEquals(3, efferents.size());
67         assertTrue(efferents.contains(new JavaPackage("java")));
68         assertTrue(efferents.contains(new JavaPackage("javax")));
69         assertTrue(efferents.contains(new JavaPackage("junit")));
70         
71         Collection JavaDoc afferents = p.getAfferents();
72         assertEquals(0, afferents.size());
73     }
74
75     private void assertJUnitPackage() {
76         JavaPackage p = jdepend.getPackage("junit");
77         assertEquals("junit", p.getName());
78         
79         Collection JavaDoc afferents = p.getAfferents();
80         assertEquals(1, afferents.size());
81         assertTrue(afferents.contains(new JavaPackage("jdepend")));
82         
83         Collection JavaDoc efferents = p.getEfferents();
84         assertEquals(0, efferents.size());
85     }
86     
87     private void assertJavaPackage() {
88         JavaPackage p = jdepend.getPackage("java");
89         assertEquals("java", p.getName());
90         
91         Collection JavaDoc afferents = p.getAfferents();
92         assertEquals(1, afferents.size());
93         assertTrue(afferents.contains(new JavaPackage("jdepend")));
94         
95         Collection JavaDoc efferents = p.getEfferents();
96         assertEquals(0, efferents.size());
97     }
98     
99     private void assertJavaxPackage() {
100         JavaPackage p = jdepend.getPackage("javax");
101         assertEquals("javax", p.getName());
102         
103         Collection JavaDoc afferents = p.getAfferents();
104         assertEquals(1, afferents.size());
105         assertTrue(afferents.contains(new JavaPackage("jdepend")));
106         
107         Collection JavaDoc efferents = p.getEfferents();
108         assertEquals(0, efferents.size());
109     }
110
111     private String JavaDoc format(float f) {
112         return formatter.format(f);
113     }
114 }
Popular Tags