KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > net > sourceforge > pmd > properties > PropertyAccessorTest


1 package test.net.sourceforge.pmd.properties;
2
3 import net.sourceforge.pmd.AbstractRule;
4 import net.sourceforge.pmd.cpd.ReportException;
5 import net.sourceforge.pmd.util.CollectionUtil;
6 import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst;
7
8 public class PropertyAccessorTest extends SimpleAggregatorTst {
9
10     private AbstractRule rule;
11
12     public void setUp() {
13         rule = new NonRuleWithAllPropertyTypes();
14     }
15
16     public static boolean areEqual(int[] a, int[] b) {
17         if (a.length != b.length) return false;
18         for (int i=0; i<a.length; i++) {
19             if (a[i] != b[i]) return false;
20         }
21         return true;
22     }
23    
24     public static boolean areEqual(boolean[] a, boolean[] b) {
25         if (a.length != b.length) return false;
26         for (int i=0; i<a.length; i++) {
27             if (a[i] != b[i]) return false;
28         }
29         return true;
30     }
31     
32     public void testIntegers() throws ReportException {
33
34         rule.setProperty(NonRuleWithAllPropertyTypes.singleInt, new Integer JavaDoc(0));
35         assertTrue(rule.getIntProperty(NonRuleWithAllPropertyTypes.singleInt) == 0);
36         
37         rule.setProperties(NonRuleWithAllPropertyTypes.multiInt, new Object JavaDoc[] {new Integer JavaDoc(0), new Integer JavaDoc(1)});
38         assertTrue(areEqual(rule.getIntProperties(NonRuleWithAllPropertyTypes.multiInt), new int[]{0, 1}));
39         
40         boolean exceptionOccurred = false;
41         try {
42             rule.setProperties(NonRuleWithAllPropertyTypes.singleInt, new Object JavaDoc[] {new Integer JavaDoc(0), new Integer JavaDoc(1)});
43             } catch (Exception JavaDoc ex) {
44                 exceptionOccurred = true;
45             }
46         assertTrue(exceptionOccurred);
47         
48         exceptionOccurred = false;
49         try {
50             rule.setProperty(NonRuleWithAllPropertyTypes.multiInt, new Integer JavaDoc(0));
51             } catch (Exception JavaDoc ex) {
52                 exceptionOccurred = true;
53             }
54         assertTrue(exceptionOccurred);
55     }
56      
57     public void testBooleans() throws ReportException {
58
59         rule.setProperty(NonRuleWithAllPropertyTypes.singleBool, Boolean.FALSE);
60         assertFalse(rule.getBooleanProperty(NonRuleWithAllPropertyTypes.singleBool));
61         
62         rule.setProperties(NonRuleWithAllPropertyTypes.multiBool, new Boolean JavaDoc[] {Boolean.TRUE, Boolean.FALSE});
63         assertTrue(areEqual(rule.getBooleanProperties(NonRuleWithAllPropertyTypes.multiBool), new boolean[]{true, false}));
64         
65         boolean exceptionOccurred = false;
66         try {
67             rule.setProperties(NonRuleWithAllPropertyTypes.singleBool, new Boolean JavaDoc[] {Boolean.TRUE, Boolean.FALSE});
68             } catch (Exception JavaDoc ex) {
69                 exceptionOccurred = true;
70             }
71         assertTrue(exceptionOccurred);
72         
73         exceptionOccurred = false;
74         try {
75             rule.setProperty(NonRuleWithAllPropertyTypes.multiBool, Boolean.TRUE);
76             } catch (Exception JavaDoc ex) {
77                 exceptionOccurred = true;
78             }
79         assertTrue(exceptionOccurred);
80     }
81     
82 // public void testFloats() throws ReportException {
83
//
84
// rule.setProperty("singleFloat", new Float(0));
85
// assertTrue(rule.getFloatProperty("singleFloat") == 0f);
86
//
87
// rule.setProperties("multiBool", new Boolean[] {Boolean.TRUE, Boolean.FALSE});
88
// assertTrue(areEqual(rule.getBooleanProperties("multiBool"), new boolean[]{true, false}));
89
//
90
// boolean exceptionOccurred = false;
91
// try {
92
// rule.setProperties("singleBool", new Boolean[] {Boolean.TRUE, Boolean.FALSE});
93
// } catch (Exception ex) {
94
// exceptionOccurred = true;
95
// }
96
// assertTrue(exceptionOccurred);
97
//
98
// exceptionOccurred = false;
99
// try {
100
// rule.setProperty("multiBool", Boolean.TRUE);
101
// } catch (Exception ex) {
102
// exceptionOccurred = true;
103
// }
104
// assertTrue(exceptionOccurred);
105
// }
106

107     public void testStrings() throws ReportException {
108
109         rule.setProperty(NonRuleWithAllPropertyTypes.singleStr, "brian");
110         assertEquals(rule.getStringProperty(NonRuleWithAllPropertyTypes.singleStr), "brian");
111         
112         rule.setProperties(NonRuleWithAllPropertyTypes.multiStr, new String JavaDoc[] {"hello", "world"});
113         assertTrue(CollectionUtil.arraysAreEqual(rule.getStringProperties(NonRuleWithAllPropertyTypes.multiStr), new String JavaDoc[] {"hello", "world"}));
114         
115         boolean exceptionOccurred = false;
116         try {
117             rule.setProperties(NonRuleWithAllPropertyTypes.singleStr, new String JavaDoc[] {"hello", "world"});
118             } catch (Exception JavaDoc ex) {
119                 exceptionOccurred = true;
120             }
121         assertTrue(exceptionOccurred);
122         
123         exceptionOccurred = false;
124         try {
125             rule.setProperty(NonRuleWithAllPropertyTypes.multiStr, "brian");
126             } catch (Exception JavaDoc ex) {
127                 exceptionOccurred = true;
128             }
129         assertTrue(exceptionOccurred);
130     }
131 }
132
Popular Tags