BooleanPropertyTest xref
1 package net.sourceforge.pmd.properties;
2
3 import net.sourceforge.pmd.PropertyDescriptor;
4 import net.sourceforge.pmd.lang.rule.properties.BooleanMultiProperty;
5 import net.sourceforge.pmd.lang.rule.properties.BooleanProperty;
6
7 import org.junit.Test;
8
9 /**
10 * @author Brian Remedios
11 */
12 public class BooleanPropertyTest extends AbstractPropertyDescriptorTester {
13
14 public BooleanPropertyTest() {
15 super();
16 }
17
18 /**
19 * Method createValue.
20 * @param valueCount int
21 * @return Object
22 */
23 protected Object createValue(int valueCount) {
24
25 if (valueCount == 1) return System.currentTimeMillis() % 1 > 0 ?
26 Boolean.TRUE : Boolean.FALSE;
27
28 Boolean[] values = new Boolean[valueCount];
29 for (int i=0; i<values.length; i++) values[i] = (Boolean)createValue(1);
30 return values;
31 }
32
33 @Test
34 public void testErrorForBad() {
35 // override, cannot create a 'bad' boolean per se
36 }
37
38 protected Object createBadValue(int count) {
39 return null;
40 }
41
42
43 /**
44 * Method createProperty.
45 * @param multiValue boolean
46 * @return PropertyDescriptor
47 */
48 protected PropertyDescriptor createProperty(boolean multiValue) {
49 return multiValue ?
50 new BooleanMultiProperty("testBoolean", "Test boolean property", new Boolean[] {false, true, true}, 1.0f) :
51 new BooleanProperty("testBoolean", "Test boolean property", false, 1.0f);
52 }
53
54 /**
55 * Method createBadProperty.
56 * @param multiValue boolean
57 * @return PropertyDescriptor
58 */
59 protected PropertyDescriptor createBadProperty(boolean multiValue) {
60 return multiValue ?
61 new BooleanMultiProperty("", "Test boolean property", new Boolean[] {false, true, true}, 1.0f) :
62 new BooleanProperty("testBoolean", "", false, 1.0f);
63 }
64
65 public static junit.framework.Test suite() {
66 return new junit.framework.JUnit4TestAdapter(BooleanPropertyTest.class);
67 }
68 }