File: ComponentTest.java

package info (click to toggle)
libjdepend-java 2.9-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 800 kB
  • ctags: 782
  • sloc: java: 3,873; xml: 549; makefile: 7; sh: 6
file content (114 lines) | stat: -rw-r--r-- 3,458 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package jdepend.framework;

import java.io.IOException;
import java.text.NumberFormat;
import java.util.Collection;

/**
 * @author <b>Mike Clark</b> 
 * @author Clarkware Consulting, Inc.
 */

public class ComponentTest extends JDependTestCase {

    private JDepend jdepend;
    private static NumberFormat formatter;

    static {
        formatter = NumberFormat.getInstance();
        formatter.setMaximumFractionDigits(2);
    }
    
    public ComponentTest(String name) {
        super(name);
    }

    protected void setUp() {
        super.setUp();
        jdepend = new JDepend();
        jdepend.analyzeInnerClasses(false);
    }

    protected void tearDown() {
        super.tearDown();
    }
    
    public void testJDependComponents() throws IOException {

        jdepend.setComponents("jdepend,junit,java,javax");
        
        jdepend.addDirectory(getBuildDir());
        
        jdepend.analyze();
        
        Collection packages = jdepend.getPackages();
        assertEquals(4, packages.size());
        
        assertJDependPackage();
        assertJUnitPackage();
        assertJavaPackage();
        assertJavaxPackage();
    }

    private void assertJDependPackage() {
        JavaPackage p = jdepend.getPackage("jdepend");
        assertEquals("jdepend", p.getName());
        assertEquals(34, p.getConcreteClassCount());
        assertEquals(5, p.getAbstractClassCount());
        assertEquals(0, p.afferentCoupling());
        assertEquals(3, p.efferentCoupling());
        assertEquals(format(0.13f), format(p.abstractness()));
        assertEquals("1", format(p.instability()));
        assertEquals(format(0.13f), format(p.distance()));
        assertEquals(1, p.getVolatility());
        
        Collection efferents = p.getEfferents();
        assertEquals(3, efferents.size());
        assertTrue(efferents.contains(new JavaPackage("java")));
        assertTrue(efferents.contains(new JavaPackage("javax")));
        assertTrue(efferents.contains(new JavaPackage("junit")));
        
        Collection afferents = p.getAfferents();
        assertEquals(0, afferents.size());
    }

    private void assertJUnitPackage() {
        JavaPackage p = jdepend.getPackage("junit");
        assertEquals("junit", p.getName());
        
        Collection afferents = p.getAfferents();
        assertEquals(1, afferents.size());
        assertTrue(afferents.contains(new JavaPackage("jdepend")));
        
        Collection efferents = p.getEfferents();
        assertEquals(0, efferents.size());
    }
    
    private void assertJavaPackage() {
        JavaPackage p = jdepend.getPackage("java");
        assertEquals("java", p.getName());
        
        Collection afferents = p.getAfferents();
        assertEquals(1, afferents.size());
        assertTrue(afferents.contains(new JavaPackage("jdepend")));
        
        Collection efferents = p.getEfferents();
        assertEquals(0, efferents.size());
    }
    
    private void assertJavaxPackage() {
        JavaPackage p = jdepend.getPackage("javax");
        assertEquals("javax", p.getName());
        
        Collection afferents = p.getAfferents();
        assertEquals(1, afferents.size());
        assertTrue(afferents.contains(new JavaPackage("jdepend")));
        
        Collection efferents = p.getEfferents();
        assertEquals(0, efferents.size());
    }

    private String format(float f) {
        return formatter.format(f);
    }
}