1 /***
2 * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3 */
4 package test.net.sourceforge.pmd.ast;
5
6 import junit.framework.TestCase;
7 import net.sourceforge.pmd.PMD;
8 import net.sourceforge.pmd.TargetJDK1_4;
9 import net.sourceforge.pmd.ast.ASTCompilationUnit;
10 import net.sourceforge.pmd.ast.ASTType;
11 import net.sourceforge.pmd.ast.JavaParser;
12
13 import java.io.StringReader;
14
15 public class ASTTypeTest extends TestCase{
16
17 public void testIsArray() {
18 JavaParser parser = (new TargetJDK1_4()).createParser(new StringReader(TEST1));
19 ASTCompilationUnit cu = parser.CompilationUnit();
20 ASTType node = (ASTType)cu.findChildrenOfType(ASTType.class).get(0);
21 assertTrue(node.isArray());
22 }
23
24 public void testOneDimensionArray() {
25 JavaParser parser = (new TargetJDK1_4()).createParser(new StringReader(TEST2));
26 ASTCompilationUnit cu = parser.CompilationUnit();
27 ASTType node = (ASTType)cu.findChildrenOfType(ASTType.class).get(0);
28 assertEquals(1, node.getDimensions());
29 }
30
31 public void testMultiDimensionalArray() {
32 JavaParser parser = (new TargetJDK1_4()).createParser(new StringReader(TEST3));
33 ASTCompilationUnit cu = parser.CompilationUnit();
34 ASTType node = (ASTType)cu.findChildrenOfType(ASTType.class).get(0);
35 assertEquals(3, node.getDimensions());
36 }
37
38 private static final String TEST1 =
39 "class Foo {" + PMD.EOL +
40 " String[] foo() {}" + PMD.EOL +
41 "}";
42
43 private static final String TEST2 =
44 "class Foo {" + PMD.EOL +
45 " String[] foo() {}" + PMD.EOL +
46 "}";
47
48 private static final String TEST3 =
49 "class Foo {" + PMD.EOL +
50 " String[][][] foo() {}" + PMD.EOL +
51 "}";
52
53 }