1   package test.net.sourceforge.pmd.properties;
2   
3   import java.util.HashMap;
4   import java.util.Map;
5   
6   import net.sourceforge.pmd.PropertyDescriptor;
7   import net.sourceforge.pmd.properties.TypeProperty;
8   
9   /***
10   */
11  public class TypePropertyTest extends AbstractPropertyDescriptorTester {
12  
13  	public static final Class[] classes = new Class[] { String.class, Integer.class, int.class, HashMap.class, Map.class };
14  	
15  	public TypePropertyTest() {
16  		super();
17  	}
18  
19  	/***
20  	 * Method createValue.
21  	 * @param count int
22  	 * @return Object
23  	 */
24  	protected Object createValue(int count) {
25  
26  		if (count == 1) return randomChoice(classes);
27  		
28  		Object[] values = new Object[count];
29  		for (int i=0; i<values.length; i++) values[i] = createValue(1);
30  		return values;
31  	}
32  
33  	/***
34  	 * Method createProperty.
35  	 * @param maxCount int
36  	 * @return PropertyDescriptor
37  	 */
38  	protected PropertyDescriptor createProperty(int maxCount) {
39  		
40  		return maxCount == 1 ?
41  			new TypeProperty("testType", "Test type property", Byte.class, 1.0f) :
42  			new TypeProperty("testType", "Test type property", classes, 1.0f);
43  			}
44  
45  }