/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.properties;
import org.junit.Test;
import net.sourceforge.pmd.PropertyDescriptor;
import net.sourceforge.pmd.lang.rule.properties.BooleanMultiProperty;
import net.sourceforge.pmd.lang.rule.properties.BooleanProperty;
/**
* @author Brian Remedios
*/
public class BooleanPropertyTest extends AbstractPropertyDescriptorTester {
public BooleanPropertyTest() {
super("Boolean");
}
/**
* Method createValue.
*
* @param valueCount
* int
* @return Object
*/
@Override
protected Object createValue(int valueCount) {
if (valueCount == 1) {
return System.currentTimeMillis() % 1 > 0 ? Boolean.TRUE : Boolean.FALSE;
}
Boolean[] values = new Boolean[valueCount];
for (int i = 0; i < values.length; i++) {
values[i] = (Boolean) createValue(1);
}
return values;
}
@Override
@Test
public void testErrorForBad() {
// override, cannot create a 'bad' boolean per se
}
@Override
protected Object createBadValue(int count) {
return null;
}
/**
* Method createProperty.
*
* @param multiValue
* boolean
* @return PropertyDescriptor
*/
@Override
protected PropertyDescriptor createProperty(boolean multiValue) {
return multiValue ? new BooleanMultiProperty("testBoolean", "Test boolean property",
new Boolean[] { false, true, true }, 1.0f)
: new BooleanProperty("testBoolean", "Test boolean property", false, 1.0f);
}
/**
* Method createBadProperty.
*
* @param multiValue
* boolean
* @return PropertyDescriptor
*/
@Override
protected PropertyDescriptor createBadProperty(boolean multiValue) {
return multiValue
? new BooleanMultiProperty("", "Test boolean property", new Boolean[] { false, true, true }, 1.0f)
: new BooleanProperty("testBoolean", "", false, 1.0f);
}
}