1 package net.sourceforge.pmd.lang.java.ast; 2 3 import static org.junit.Assert.assertFalse; 4 import static org.junit.Assert.assertTrue; 5 6 import java.util.Set; 7 8 import net.sourceforge.pmd.PMD; 9 import net.sourceforge.pmd.lang.java.ParserTst; 10 11 import org.junit.Test; 12 13 public class ASTLiteralTest extends ParserTst { 14 15 @Test 16 public void testIsStringLiteral() throws Throwable { 17 Set literals = getNodes(ASTLiteral.class, TEST1); 18 assertTrue(((ASTLiteral)(literals.iterator().next())).isStringLiteral()); 19 } 20 21 @Test 22 public void testIsNotStringLiteral() throws Throwable { 23 Set literals = getNodes(ASTLiteral.class, TEST2); 24 assertFalse(((ASTLiteral)(literals.iterator().next())).isStringLiteral()); 25 } 26 27 @Test 28 public void testIsIntIntLiteral() throws Throwable { 29 Set literals = getNodes(ASTLiteral.class, TEST3); 30 assertTrue(((ASTLiteral)(literals.iterator().next())).isIntLiteral()); 31 } 32 33 @Test 34 public void testIsIntLongLiteral() throws Throwable { 35 Set literals = getNodes(ASTLiteral.class, TEST4); 36 assertTrue(((ASTLiteral)(literals.iterator().next())).isLongLiteral()); 37 } 38 39 @Test 40 public void testIsFloatFloatLiteral() throws Throwable { 41 Set literals = getNodes(ASTLiteral.class, TEST5); 42 assertTrue(((ASTLiteral)(literals.iterator().next())).isFloatLiteral()); 43 } 44 45 @Test 46 public void testIsFloatDoubleLiteral() throws Throwable { 47 Set literals = getNodes(ASTLiteral.class, TEST6); 48 assertTrue(((ASTLiteral)(literals.iterator().next())).isDoubleLiteral()); 49 } 50 51 @Test 52 public void testIsCharLiteral() throws Throwable { 53 Set literals = getNodes(ASTLiteral.class, TEST7); 54 assertTrue(((ASTLiteral)(literals.iterator().next())).isCharLiteral()); 55 } 56 57 private static final String TEST1 = 58 "public class Foo {" + PMD.EOL + 59 " String x = \"foo\";" + PMD.EOL + 60 "}"; 61 62 private static final String TEST2 = 63 "public class Foo {" + PMD.EOL + 64 " int x = 42;" + PMD.EOL + 65 "}"; 66 67 private static final String TEST3 = 68 "public class Foo {" + PMD.EOL + 69 " int x = 42;" + PMD.EOL + 70 "}"; 71 72 private static final String TEST4 = 73 "public class Foo {" + PMD.EOL + 74 " long x = 42L;" + PMD.EOL + 75 "}"; 76 77 private static final String TEST5 = 78 "public class Foo {" + PMD.EOL + 79 " float x = 3.14159f;" + PMD.EOL + 80 "}"; 81 82 private static final String TEST6 = 83 "public class Foo {" + PMD.EOL + 84 " double x = 3.14159;" + PMD.EOL + 85 "}"; 86 87 private static final String TEST7 = 88 "public class Foo {" + PMD.EOL + 89 " char x = 'x';" + PMD.EOL + 90 "}"; 91 92 public static junit.framework.Test suite() { 93 return new junit.framework.JUnit4TestAdapter(ASTLiteralTest.class); 94 } 95 }