View Javadoc
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  }