1 package net.sourceforge.pmd.properties;
2
3 import net.sourceforge.pmd.PropertyDescriptor;
4 import net.sourceforge.pmd.lang.rule.properties.IntegerMultiProperty;
5 import net.sourceforge.pmd.lang.rule.properties.IntegerProperty;
6
7 import org.junit.Test;
8
9
10
11
12
13
14
15
16
17 public class IntegerPropertyTest extends AbstractPropertyDescriptorTester {
18
19 private static final int MIN = 1;
20 private static final int MAX = 12;
21 private static final int SHIFT = 3;
22
23 public IntegerPropertyTest() {
24 super("Integer");
25 }
26
27
28
29
30
31
32
33 protected Object createValue(int count) {
34
35 if (count == 1)
36 return Integer.valueOf(randomInt(MIN, MAX));
37
38 Integer[] values = new Integer[count];
39 for (int i = 0; i < values.length; i++)
40 values[i] = (Integer) createValue(1);
41 return values;
42 }
43
44
45
46
47
48
49
50 protected Object createBadValue(int count) {
51
52 if (count == 1)
53 return Integer.valueOf(randomBool() ? randomInt(MIN - SHIFT, MIN) : randomInt(MAX, MAX + SHIFT));
54
55 Integer[] values = new Integer[count];
56 for (int i = 0; i < values.length; i++)
57 values[i] = (Integer) createBadValue(1);
58 return values;
59 }
60
61 @Test
62 public void testErrorForBad() {
63 }
64
65
66
67
68
69
70
71 protected PropertyDescriptor createProperty(boolean multiValue) {
72
73 return multiValue ? new IntegerMultiProperty("testInteger", "Test integer property", MIN, MAX, new Integer[] {
74 MIN, MIN + 1, MAX - 1, MAX }, 1.0f) : new IntegerProperty("testInteger", "Test integer property", MIN,
75 MAX, MAX - 1, 1.0f);
76 }
77
78
79
80
81
82
83
84 protected PropertyDescriptor createBadProperty(boolean multiValue) {
85
86 return multiValue ? new IntegerMultiProperty("testInteger", "", MIN, MAX, new Integer[] { MIN - 1, MAX }, 1.0f)
87 : new IntegerProperty("", "Test integer property", MIN, MAX, MAX + 1, 1.0f);
88 }
89 }