01: package jdepend.framework;
02:
03: import java.io.IOException;
04:
05: /**
06: * @author <b>Mike Clark</b>
07: * @author Clarkware Consulting, Inc.
08: */
09:
10: public class ConstraintTest extends JDependTestCase {
11:
12: private JDepend jdepend;
13:
14: public ConstraintTest(String name) {
15: super (name);
16: }
17:
18: protected void setUp() {
19: super .setUp();
20: PackageFilter filter = new PackageFilter();
21: filter.addPackage("java.*");
22: filter.addPackage("javax.*");
23: jdepend = new JDepend(filter);
24: }
25:
26: public void testMatchPass() {
27:
28: DependencyConstraint constraint = new DependencyConstraint();
29:
30: JavaPackage expectedA = constraint.addPackage("A");
31: JavaPackage expectedB = constraint.addPackage("B");
32:
33: expectedA.dependsUpon(expectedB);
34:
35: JavaPackage actualA = new JavaPackage("A");
36: JavaPackage actualB = new JavaPackage("B");
37:
38: actualA.dependsUpon(actualB);
39:
40: jdepend.addPackage(actualA);
41: jdepend.addPackage(actualB);
42:
43: assertEquals(true, jdepend.dependencyMatch(constraint));
44: }
45:
46: public void testMatchFail() {
47:
48: DependencyConstraint constraint = new DependencyConstraint();
49:
50: JavaPackage expectedA = constraint.addPackage("A");
51: JavaPackage expectedB = constraint.addPackage("B");
52: JavaPackage expectedC = constraint.addPackage("C");
53:
54: expectedA.dependsUpon(expectedB);
55:
56: JavaPackage actualA = new JavaPackage("A");
57: JavaPackage actualB = new JavaPackage("B");
58: JavaPackage actualC = new JavaPackage("C");
59:
60: actualA.dependsUpon(actualB);
61: actualA.dependsUpon(actualC);
62:
63: jdepend.addPackage(actualA);
64: jdepend.addPackage(actualB);
65: jdepend.addPackage(actualC);
66:
67: assertEquals(false, jdepend.dependencyMatch(constraint));
68: }
69:
70: public void testJDependConstraints() throws IOException {
71:
72: jdepend.addDirectory(getBuildDir());
73:
74: jdepend.analyze();
75:
76: DependencyConstraint constraint = new DependencyConstraint();
77:
78: JavaPackage junitframework = constraint
79: .addPackage("junit.framework");
80: JavaPackage junitui = constraint.addPackage("junit.textui");
81: JavaPackage framework = constraint
82: .addPackage("jdepend.framework");
83: JavaPackage text = constraint.addPackage("jdepend.textui");
84: JavaPackage xml = constraint.addPackage("jdepend.xmlui");
85: JavaPackage swing = constraint.addPackage("jdepend.swingui");
86:
87: framework.dependsUpon(junitframework);
88: framework.dependsUpon(junitui);
89: text.dependsUpon(framework);
90: xml.dependsUpon(text);
91: swing.dependsUpon(framework);
92:
93: assertEquals(true, jdepend.dependencyMatch(constraint));
94: }
95: }
|