jdepend.framework
public class DependencyConstraint extends 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 Summary | |
---|---|
DependencyConstraint()
Constructs a DependencyConstraint instance. |
Method Summary | |
---|---|
JavaPackage | addPackage(String packageName)
Adds the specified Java package to the
constraint, creating it if necessary.
|
void | addPackage(JavaPackage jPackage)
Adds the specified Java package to the
constraint.
|
Collection | getPackages()
Returns the constraint packages.
|
boolean | match(Collection expectedPackages)
Indicates whether the specified packages match
the packages in this constraint.
|
DependencyConstraint
instance.Parameters: packageName Java package name.
Returns: Java package.
Parameters: jPackage Java package.
Returns: Packages.
Returns: true
if the packages
match this constraint