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