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