View Javadoc
1   package net.sourceforge.pmd.lang.java.ast;
2   
3   import static org.junit.Assert.assertEquals;
4   import net.sourceforge.pmd.PMD;
5   import net.sourceforge.pmd.lang.java.ParserTst;
6   
7   import org.junit.Test;
8   
9   
10  public class ASTLocalVariableDeclarationTest extends ParserTst {
11  
12      @Test
13      public void testSingleDimArray() {
14          ASTCompilationUnit cu = parseJava14(TEST1);
15          ASTLocalVariableDeclaration node = cu.findDescendantsOfType(ASTLocalVariableDeclaration.class).get(0);
16          assertEquals(1, node.getArrayDepth());
17      }
18  
19      @Test
20      public void testMultDimArray() {
21          ASTCompilationUnit cu = parseJava14(TEST2);
22          ASTLocalVariableDeclaration node = cu.findDescendantsOfType(ASTLocalVariableDeclaration.class).get(0);
23          assertEquals(2, node.getArrayDepth());
24      }
25  
26      @Test
27      public void testMultDimArraySplitBraces() {
28          ASTCompilationUnit cu = parseJava14(TEST3);
29          ASTLocalVariableDeclaration node = cu.findDescendantsOfType(ASTLocalVariableDeclaration.class).get(0);
30          assertEquals(3, node.getArrayDepth());
31      }
32  
33      private static final String TEST1 =
34              "class Foo {" + PMD.EOL +
35              " void bar() {int x[] = null;}" + PMD.EOL +
36              "}";
37  
38      private static final String TEST2 =
39              "class Foo {" + PMD.EOL +
40              " void bar() {int x[][] = null;}" + PMD.EOL +
41              "}";
42  
43      private static final String TEST3 =
44              "class Foo {" + PMD.EOL +
45              " void bar() {int[] x[][] = null;}" + PMD.EOL +
46              "}";
47  
48      public static junit.framework.Test suite() {
49          return new junit.framework.JUnit4TestAdapter(ASTLocalVariableDeclarationTest.class);
50      }
51  }