01: package com.puppycrawl.tools.checkstyle;
02:
03: import java.util.Arrays;
04: import java.util.HashSet;
05: import java.util.Set;
06:
07: import com.puppycrawl.tools.checkstyle.api.CheckstyleException;
08:
09: import junit.framework.TestCase;
10:
11: /**
12: * Enter a description of class PackageNamesLoaderTest.java.
13: * @author Rick Giles
14: * @author lkuehne
15: * @version $Revision$
16: */
17: public class PackageNamesLoaderTest extends TestCase {
18: public void testDefault() throws CheckstyleException {
19: ModuleFactory moduleFactory = PackageNamesLoader
20: .loadModuleFactory(Thread.currentThread()
21: .getContextClassLoader());
22: validateFactory(moduleFactory);
23: }
24:
25: public void testNoFile() {
26: try {
27: PackageNamesLoader.loadModuleFactory("NoFile");
28: fail("Loaded non-existant file.");
29: } catch (CheckstyleException ex) {
30: assertEquals("CheckstyleException.message.",
31: "unable to find NoFile", ex.getMessage());
32: }
33: }
34:
35: public void testFile() throws CheckstyleException {
36: final ModuleFactory moduleFactory = PackageNamesLoader
37: .loadModuleFactory(System
38: .getProperty("checkstyle.root")
39: + "/src/checkstyle/com/puppycrawl/tools/checkstyle/checkstyle_packages.xml");
40: validateFactory(moduleFactory);
41: }
42:
43: private void validateFactory(ModuleFactory aModuleFactory) {
44: final String[] checkstylePackages = {
45: "com.puppycrawl.tools.checkstyle.",
46: "com.puppycrawl.tools.checkstyle.checks.",
47: "com.puppycrawl.tools.checkstyle.checks.blocks.",
48: "com.puppycrawl.tools.checkstyle.checks.coding.",
49: "com.puppycrawl.tools.checkstyle.checks.design.",
50: "com.puppycrawl.tools.checkstyle.checks.duplicates.",
51: "com.puppycrawl.tools.checkstyle.checks.header.",
52: "com.puppycrawl.tools.checkstyle.checks.imports.",
53: "com.puppycrawl.tools.checkstyle.checks.indentation.",
54: "com.puppycrawl.tools.checkstyle.checks.javadoc.",
55: "com.puppycrawl.tools.checkstyle.checks.metrics.",
56: "com.puppycrawl.tools.checkstyle.checks.modifier.",
57: "com.puppycrawl.tools.checkstyle.checks.naming.",
58: "com.puppycrawl.tools.checkstyle.checks.sizes.",
59: "com.puppycrawl.tools.checkstyle.checks.whitespace.",
60: "com.puppycrawl.tools.checkstyle.filters.",
61:
62: };
63:
64: PackageObjectFactory factory = (PackageObjectFactory) aModuleFactory;
65: String[] pkgNames = factory.getPackages();
66:
67: assertEquals("pkgNames.length.", checkstylePackages.length,
68: pkgNames.length);
69: Set checkstylePackagesSet = new HashSet(Arrays
70: .asList(checkstylePackages));
71: Set pkgNamesSet = new HashSet(Arrays.asList(pkgNames));
72: assertEquals("names set.", checkstylePackagesSet, pkgNamesSet);
73: }
74:
75: }
|