01: package test.net.sourceforge.pmd.ast;
02:
03: import static org.junit.Assert.assertTrue;
04: import net.sourceforge.pmd.PMD;
05: import net.sourceforge.pmd.ast.ASTLiteral;
06:
07: import org.junit.Test;
08:
09: 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()))
19: .isStringLiteral());
20: }
21:
22: @Test
23: public void testIsNotStringLiteral() throws Throwable {
24: Set literals = getNodes(ASTLiteral.class, TEST2);
25: assertTrue(!((ASTLiteral) (literals.iterator().next()))
26: .isStringLiteral());
27: }
28:
29: @Test
30: public void testIsIntIntLiteral() throws Throwable {
31: Set literals = getNodes(ASTLiteral.class, TEST3);
32: assertTrue(((ASTLiteral) (literals.iterator().next()))
33: .isIntLiteral());
34: }
35:
36: @Test
37: public void testIsIntLongLiteral() throws Throwable {
38: Set literals = getNodes(ASTLiteral.class, TEST4);
39: assertTrue(((ASTLiteral) (literals.iterator().next()))
40: .isIntLiteral());
41: }
42:
43: @Test
44: public void testIsFloatFloatLiteral() throws Throwable {
45: Set literals = getNodes(ASTLiteral.class, TEST5);
46: assertTrue(((ASTLiteral) (literals.iterator().next()))
47: .isFloatLiteral());
48: }
49:
50: @Test
51: public void testIsFloatDoubleLiteral() throws Throwable {
52: Set literals = getNodes(ASTLiteral.class, TEST6);
53: assertTrue(((ASTLiteral) (literals.iterator().next()))
54: .isFloatLiteral());
55: }
56:
57: @Test
58: public void testIsCharLiteral() throws Throwable {
59: Set literals = getNodes(ASTLiteral.class, TEST7);
60: assertTrue(((ASTLiteral) (literals.iterator().next()))
61: .isCharLiteral());
62: }
63:
64: private static final String TEST1 = "public class Foo {" + PMD.EOL
65: + " String x = \"foo\";" + PMD.EOL + "}";
66:
67: private static final String TEST2 = "public class Foo {" + PMD.EOL
68: + " int x = 42;" + PMD.EOL + "}";
69:
70: private static final String TEST3 = "public class Foo {" + PMD.EOL
71: + " int x = 42;" + PMD.EOL + "}";
72:
73: private static final String TEST4 = "public class Foo {" + PMD.EOL
74: + " int x = 42L;" + PMD.EOL + "}";
75:
76: private static final String TEST5 = "public class Foo {" + PMD.EOL
77: + " float x = 3.14159f;" + PMD.EOL + "}";
78:
79: private static final String TEST6 = "public class Foo {" + PMD.EOL
80: + " float x = 3.14159;" + PMD.EOL + "}";
81:
82: private static final String TEST7 = "public class Foo {" + PMD.EOL
83: + " char x = 'x';" + PMD.EOL + "}";
84:
85: public static junit.framework.Test suite() {
86: return new junit.framework.JUnit4TestAdapter(
87: ASTLiteralTest.class);
88: }
89: }
|