KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > net > sourceforge > pmd > symboltable > TypeSetTest


1 /**
2  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3  */

4 package test.net.sourceforge.pmd.symboltable;
5
6 import junit.framework.TestCase;
7 import net.sourceforge.pmd.PMD;
8 import net.sourceforge.pmd.symboltable.TypeSet;
9
10 import java.io.File JavaDoc;
11 import java.util.HashSet JavaDoc;
12 import java.util.Set JavaDoc;
13
14 public class TypeSetTest extends TestCase {
15
16     public void testASTCompilationUnitPackage() {
17         TypeSet t = new TypeSet();
18         t.setASTCompilationUnitPackage("java.lang.");
19         assertEquals("java.lang.", t.getASTCompilationUnitPackage());
20     }
21
22     public void testAddImport() {
23         TypeSet t = new TypeSet();
24         t.addImport("java.io.File");
25         assertEquals(1, t.getImportsCount());
26     }
27
28     public void testFindClassImplicitImport() throws Throwable JavaDoc {
29         TypeSet t = new TypeSet();
30         Class JavaDoc clazz = t.findClass("String");
31         assertEquals(String JavaDoc.class, clazz);
32     }
33
34     public void testFindClassSamePackage() throws Throwable JavaDoc {
35         TypeSet t = new TypeSet();
36         t.setASTCompilationUnitPackage("net.sourceforge.pmd.");
37         Class JavaDoc clazz = t.findClass("PMD");
38         assertEquals(PMD.class, clazz);
39     }
40
41     public void testFindClassExplicitImport() throws Throwable JavaDoc {
42         TypeSet t = new TypeSet();
43         t.addImport("java.io.File");
44         Class JavaDoc clazz = t.findClass("File");
45         assertEquals(File JavaDoc.class, clazz);
46     }
47
48     public void testFindClassImportOnDemand() throws Throwable JavaDoc {
49         TypeSet t = new TypeSet();
50         t.addImport("java.io.*");
51         Class JavaDoc clazz = t.findClass("File");
52         assertEquals(File JavaDoc.class, clazz);
53     }
54
55     public void testFindClassPrimitive() throws Throwable JavaDoc {
56         TypeSet t = new TypeSet();
57         assertEquals(int.class, t.findClass("int"));
58     }
59
60     public void testFindClassVoid() throws Throwable JavaDoc {
61         TypeSet t = new TypeSet();
62         assertEquals(void.class, t.findClass("void"));
63     }
64
65     public void testFindFullyQualified() throws Throwable JavaDoc {
66         TypeSet t = new TypeSet();
67         assertEquals(String JavaDoc.class, t.findClass("java.lang.String"));
68         assertEquals(Set.class, t.findClass("java.util.Set"));
69     }
70
71     // inner class tests
72
public void testPrimitiveTypeResolver() throws Throwable JavaDoc {
73         TypeSet.Resolver r = new TypeSet.PrimitiveTypeResolver();
74         assertEquals(int.class, r.resolve("int"));
75         assertEquals(byte.class, r.resolve("byte"));
76         assertEquals(long.class, r.resolve("long"));
77     }
78
79     public void testVoidTypeResolver() throws Throwable JavaDoc {
80         TypeSet.Resolver r = new TypeSet.VoidResolver();
81         assertEquals(void.class, r.resolve("void"));
82     }
83
84     public void testExplicitImportResolver() throws Throwable JavaDoc {
85         Set imports = new HashSet JavaDoc();
86         imports.add("java.io.File");
87         TypeSet.Resolver r = new TypeSet.ExplicitImportResolver(imports);
88         assertEquals(File JavaDoc.class, r.resolve("File"));
89     }
90
91     public void testImplicitImportResolverPass() throws Throwable JavaDoc {
92         TypeSet.Resolver r = new TypeSet.ImplicitImportResolver();
93         assertEquals(String JavaDoc.class, r.resolve("String"));
94     }
95
96     public void testImplicitImportResolverPassFail() throws Throwable JavaDoc {
97         TypeSet.Resolver r = new TypeSet.ImplicitImportResolver();
98         try {
99             r.resolve("PMD");
100             fail("Should have thrown an exception");
101         } catch (ClassNotFoundException JavaDoc cnfe) {
102         }
103     }
104
105     public void testCurrentPackageResolverPass() throws Throwable JavaDoc {
106         TypeSet.Resolver r = new TypeSet.CurrentPackageResolver("net.sourceforge.pmd.");
107         assertEquals(PMD.class, r.resolve("PMD"));
108     }
109
110     public void testImportOnDemandResolverPass() throws Throwable JavaDoc {
111         Set imports = new HashSet JavaDoc();
112         imports.add("java.io.*");
113         imports.add("java.util.*");
114         TypeSet.Resolver r = new TypeSet.ImportOnDemandResolver(imports);
115         assertEquals(Set.class, r.resolve("Set"));
116         assertEquals(File JavaDoc.class, r.resolve("File"));
117     }
118
119     public void testImportOnDemandResolverFail() throws Throwable JavaDoc {
120         Set imports = new HashSet JavaDoc();
121         imports.add("java.io.*");
122         imports.add("java.util.*");
123         TypeSet.Resolver r = new TypeSet.ImportOnDemandResolver(imports);
124         try {
125             r.resolve("foo");
126             fail("Should have thrown a ClassNotFoundException");
127         } catch (ClassNotFoundException JavaDoc cnfe) {
128         }
129         try {
130             r.resolve("String");
131             fail("Should have thrown a ClassNotFoundException");
132         } catch (ClassNotFoundException JavaDoc cnfe) {
133         }
134     }
135
136 }
137
138
139
140
Popular Tags