public class DependencyConstraint
extends java.lang.Object
DependencyConstraint
class is a constraint that tests
whether two package-dependency graphs are equivalent.
This class is useful for writing package dependency assertions (e.g. JUnit). For example, the following JUnit test will ensure that the 'ejb' and 'web' packages only depend upon the 'util' package, and no others:
public void testDependencyConstraint() { JDepend jdepend = new JDepend(); jdepend.addDirectory("/path/to/classes"); Collection analyzedPackages = jdepend.analyze(); DependencyConstraint constraint = new DependencyConstraint(); JavaPackage ejb = constraint.addPackage("com.xyz.ejb"); JavaPackage web = constraint.addPackage("com.xyz.web"); JavaPackage util = constraint.addPackage("com.xyz.util"); ejb.dependsUpon(util); web.dependsUpon(util); assertEquals("Dependency mismatch", true, constraint .match(analyzedPackages)); }
Constructor and Description |
---|
DependencyConstraint() |
Modifier and Type | Method and Description |
---|---|
void |
addPackage(JavaPackage jPackage) |
JavaPackage |
addPackage(java.lang.String packageName) |
java.util.Collection |
getPackages() |
boolean |
match(java.util.Collection expectedPackages)
Indicates whether the specified packages match the
packages in this constraint.
|
public JavaPackage addPackage(java.lang.String packageName)
public void addPackage(JavaPackage jPackage)
public java.util.Collection getPackages()
public boolean match(java.util.Collection expectedPackages)
true
if the packages match this constraintCopyright ? 1999-2005 Clarkware Consulting, Inc.