KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > net > sourceforge > pmd > rules > UselessOperationOnImmutableTest


1 package test.net.sourceforge.pmd.rules;
2
3 import net.sourceforge.pmd.PMD;
4 import net.sourceforge.pmd.Rule;
5 import net.sourceforge.pmd.SourceType;
6 import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst;
7 import test.net.sourceforge.pmd.testframework.TestDescriptor;
8
9 public class UselessOperationOnImmutableTest extends SimpleAggregatorTst {
10     private Rule rule;
11
12     public void setUp() {
13         rule = findRule("basic", "UselessOperationOnImmutable");
14     }
15
16     // TODO - should use symbol table to catch all misuses of these types
17
public void testAll() {
18         runTests(new TestDescriptor[]{
19             new TestDescriptor(TEST1, "useless operation on BigDecimal", 1, rule),
20             new TestDescriptor(TEST2, "useless operation on BigInteger", 1, rule),
21             new TestDescriptor(TEST3, "using the result, so OK", 0, rule),
22             new TestDescriptor(TEST4, "using the result in a method call, so OK", 0, rule),
23         });
24
25         runTests(new TestDescriptor[]{
26                 new TestDescriptor(TEST5, "Using generics on List, OK", 0, rule,SourceType.JAVA_15),
27             });
28     }
29
30     private static final String JavaDoc TEST1 =
31             "public class Foo {" + PMD.EOL +
32             " public void foo() {" + PMD.EOL +
33             " BigDecimal bd = new BigDecimal(5);" + PMD.EOL +
34             " bd.add(new BigDecimal(5));" + PMD.EOL +
35             " }" + PMD.EOL +
36             "}";
37
38     private static final String JavaDoc TEST2 =
39             "public class Foo {" + PMD.EOL +
40             " public void foo() {" + PMD.EOL +
41             " BigInteger bi = new BigInteger(5);" + PMD.EOL +
42             " bi.add(new BigInteger(5));" + PMD.EOL +
43             " }" + PMD.EOL +
44             "}";
45
46     private static final String JavaDoc TEST3 =
47             "public class Foo {" + PMD.EOL +
48             " public void foo() {" + PMD.EOL +
49             " BigInteger bi = new BigInteger(5);" + PMD.EOL +
50             " bi = bi.add(new BigInteger(5));" + PMD.EOL +
51             " }" + PMD.EOL +
52             "}";
53
54     private static final String JavaDoc TEST4 =
55             "public class Foo {" + PMD.EOL +
56             " public void foo() {" + PMD.EOL +
57             " BigInteger bi = new BigInteger(5);" + PMD.EOL +
58             " bar(bi.add(new BigInteger(5)));" + PMD.EOL +
59             " }" + PMD.EOL +
60             "}";
61
62     private static final String JavaDoc TEST5 =
63         "public class Foo {" + PMD.EOL +
64         " List<BigDecimal> getSolution() {" + PMD.EOL +
65         " List<BigDecimal> result = new ArrayList<BigDecimal>();" + PMD.EOL +
66         " for (int i = 0; i < size(); i++) {" + PMD.EOL +
67         " result.add(entry(size(),i).negate());" + PMD.EOL +
68         " result.add(this.equations[i].check(solution));" + PMD.EOL +
69         " }" + PMD.EOL +
70         " }" + PMD.EOL +
71         "}";
72 }
73
Popular Tags