1 package test.net.sourceforge.pmd.ast;
2
3 import static org.junit.Assert.assertTrue;
4 import net.sourceforge.pmd.PMD;
5 import net.sourceforge.pmd.ast.ASTLiteral;
6
7 import org.junit.Test;
8
9 import test.net.sourceforge.pmd.testframework.ParserTst;
10
11 import java.util.Set;
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 assertTrue(!((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())).isIntLiteral());
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())).isFloatLiteral());
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 " int 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 " float 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 }