package hudson.plugins.dry;
import static org.junit.Assert.*;
import hudson.util.FormValidation;
import org.junit.Test;
/**
* Tests the class {@link ThresholdValidation}.
*
* @author Ulli Hafner
*/
public class ThresholdValidationTest {
private static final String WRONG_VALUE_FOR_NORMAL_THRESHOLD = "Wrong value for normal threshold";
private static final String WRONG_VALUE_FOR_HIGH_THRESHOLD = "Wrong value for high threshold";
private static final String RESULT_IS_NOT_VALID = "Result is not valid";
/**
* Verifies valid values.
*/
@Test
public void testValid() {
ThresholdValidation validation = new ThresholdValidation();
assertEquals(RESULT_IS_NOT_VALID, FormValidation.Kind.OK, validation.validateHigh("50", "25").kind);
assertEquals(RESULT_IS_NOT_VALID, FormValidation.Kind.OK, validation.validateHigh("50", "49").kind);
assertEquals(RESULT_IS_NOT_VALID, FormValidation.Kind.OK, validation.validateNormal("50", "25").kind);
assertEquals(RESULT_IS_NOT_VALID, FormValidation.Kind.OK, validation.validateNormal("50", "49").kind);
}
/**
* Verifies invalid values.
*/
@Test
public void testInvalid() {
ThresholdValidation validation = new ThresholdValidation();
assertEquals(RESULT_IS_NOT_VALID, FormValidation.Kind.ERROR, validation.validateHigh("50", "50").kind);
assertEquals(RESULT_IS_NOT_VALID, FormValidation.Kind.ERROR, validation.validateNormal("50", "50").kind);
assertEquals(RESULT_IS_NOT_VALID, FormValidation.Kind.ERROR, validation.validateHigh("50", "-1").kind);
assertEquals(RESULT_IS_NOT_VALID, FormValidation.Kind.ERROR, validation.validateNormal("50", "-1").kind);
assertEquals(RESULT_IS_NOT_VALID, FormValidation.Kind.ERROR, validation.validateHigh("50", "").kind);
assertEquals(RESULT_IS_NOT_VALID, FormValidation.Kind.ERROR, validation.validateNormal("50", "").kind);
assertEquals(RESULT_IS_NOT_VALID, FormValidation.Kind.ERROR, validation.validateHigh("50", "500").kind);
assertEquals(RESULT_IS_NOT_VALID, FormValidation.Kind.ERROR, validation.validateNormal("50", "500").kind);
assertEquals(RESULT_IS_NOT_VALID, FormValidation.Kind.ERROR, validation.validateHigh("", "500").kind);
assertEquals(RESULT_IS_NOT_VALID, FormValidation.Kind.ERROR, validation.validateNormal("", "500").kind);
}
/**
* Verifies that the getters return the default values for illegal thresholds.
*/
@Test
public void testGetters() {
ThresholdValidation validation = new ThresholdValidation();
assertEquals(WRONG_VALUE_FOR_HIGH_THRESHOLD, 2, validation.getHighThreshold(1, 2));
assertEquals(WRONG_VALUE_FOR_HIGH_THRESHOLD, 20, validation.getHighThreshold(1, 20));
assertEquals(WRONG_VALUE_FOR_HIGH_THRESHOLD, 10, validation.getHighThreshold(5, 10));
assertEquals(WRONG_VALUE_FOR_HIGH_THRESHOLD, 10, validation.getHighThreshold(9, 10));
assertEquals(WRONG_VALUE_FOR_HIGH_THRESHOLD,
ThresholdValidation.DEFAULT_HIGH_THRESHOLD, validation.getHighThreshold(10, 10));
assertEquals(WRONG_VALUE_FOR_HIGH_THRESHOLD,
ThresholdValidation.DEFAULT_HIGH_THRESHOLD, validation.getHighThreshold(0, 10));
assertEquals(WRONG_VALUE_FOR_HIGH_THRESHOLD,
ThresholdValidation.DEFAULT_HIGH_THRESHOLD, validation.getHighThreshold(-1, 10));
assertEquals(WRONG_VALUE_FOR_HIGH_THRESHOLD,
ThresholdValidation.DEFAULT_HIGH_THRESHOLD, validation.getHighThreshold(5, 0));
assertEquals(WRONG_VALUE_FOR_NORMAL_THRESHOLD, 1, validation.getNormalThreshold(1, 2));
assertEquals(WRONG_VALUE_FOR_NORMAL_THRESHOLD, 1, validation.getNormalThreshold(1, 20));
assertEquals(WRONG_VALUE_FOR_NORMAL_THRESHOLD, 5, validation.getNormalThreshold(5, 10));
assertEquals(WRONG_VALUE_FOR_NORMAL_THRESHOLD, 9, validation.getNormalThreshold(9, 10));
assertEquals(WRONG_VALUE_FOR_NORMAL_THRESHOLD,
ThresholdValidation.DEFAULT_NORMAL_THRESHOLD, validation.getNormalThreshold(10, 10));
assertEquals(WRONG_VALUE_FOR_NORMAL_THRESHOLD,
ThresholdValidation.DEFAULT_NORMAL_THRESHOLD, validation.getNormalThreshold(0, 10));
assertEquals(WRONG_VALUE_FOR_NORMAL_THRESHOLD,
ThresholdValidation.DEFAULT_NORMAL_THRESHOLD, validation.getNormalThreshold(-1, 10));
assertEquals(WRONG_VALUE_FOR_NORMAL_THRESHOLD,
ThresholdValidation.DEFAULT_NORMAL_THRESHOLD, validation.getNormalThreshold(5, 0));
}
}