/** * @return a new instance of a validator checking for an input string representing an existing file of the given type. Blank string are invalid. * @param type * type of the file represented by the input string * @see Validators#validEmpty(Validator) */ public static Validator<String> existingFileType(FileType type) { return new FileTypeValidator(type, true); }
/** * @return a new instance of a validator checking for a input string representing a positive integer number in the given range */ public static Validator<String> positiveIntRange(int lower, int upper) { return new PositiveIntRangeStringValidator(lower, upper); }
/** * @return a new instance of a validator checking for an input string matching the given regex. * @see Validators#validEmpty(Validator) */ public static Validator<String> regexMatching(String regex) { return new RegexValidator(regex); }
@Test public void testAllowBlank() { Assert.assertFalse(victim.isValid("")); Assert.assertTrue(Validators.validEmpty(victim).isValid("")); } }
@Test public void andValidator() { Validator<String> first = Validators.nonBlank(); Validator<String> second = Validators.positiveInteger(); assertTrue(first.isValid("dads")); assertFalse(first.isValid(" ")); assertTrue(second.isValid("10")); assertFalse(second.isValid("-10")); assertFalse(and(first, second).isValid(" ")); assertFalse(and(first, second).isValid("dads")); assertTrue(and(first, second).isValid("10")); assertFalse(and(first, second).isValid("-10")); } }
@Test public void allowBlank() { Validator<String> victim = Validators.existingFileType(FileType.HTML); Assert.assertFalse(victim.isValid("")); Assert.assertTrue(Validators.validEmpty(victim).isValid("")); }
@Test public void notExisting() { Validator<String> victim = Validators.existingFileType(FileType.ALL); Assert.assertFalse(victim.isValid("/Chuck/Norris")); }
/** * @param validator * @return a new instance of a validator that negates the given one */ public static Validator<String> not(Validator<String> validator) { return v -> !validator.isValid(v); }
/** * @return a new instance of a validator checking for a input string representing a positive integer number */ public static Validator<String> positiveInteger() { return new PositiveIntegerStringValidator(); }
/** * @return a new instance of a validator checking for a input string representing an integer contained in the given set */ public static Validator<String> containedInteger(Set<Integer> validValues) { return new ContainedIntegerValidator(validValues); }
/** * @return a new instance of a validator checking for an input string representing an existing file. Blank string are invalid. * @see Validators#validEmpty(Validator) */ public static Validator<String> existingFile() { return new FileValidator(); }
@Test public void testAllowBlank() { Assert.assertFalse(victim.isValid("")); Assert.assertTrue(Validators.validEmpty(victim).isValid("")); }
@Test public void existingAllNoExtension() throws IOException { Validator<String> victim = Validators.existingFileType(FileType.ALL); Path test = Files.createTempFile("tmp", ""); Assert.assertTrue(victim.isValid(test.toAbsolutePath().toString())); Files.delete(test); }
/** * @param validator * @return a new instance of the a validator that considers empty string as valid, it delegates otherwise */ public static Validator<String> validEmpty(Validator<String> validator) { return v -> { if (isNotEmpty(v)) { return validator.isValid(v); } return true; }; }
/** * @return a new instance of a validator checking for an input string representing a file of the given type. Blank string are invalid. * @param type * type of the file represented by the input string * @param mustExist * if true the validator enforces an existing file * @see Validators#validEmpty(Validator) */ public static Validator<String> fileType(FileType type, boolean mustExist) { return new FileTypeValidator(type, mustExist); }
@Test public void allowBlank() { assertFalse(victim.isValid("")); assertTrue(Validators.validEmpty(victim).isValid("")); } }
@Test public void testAllowBlank() { Assert.assertFalse(victim.isValid("")); Assert.assertTrue(Validators.validEmpty(victim).isValid("")); } }
@Test public void testAllowBlank() { assertFalse(victim.isValid("")); assertTrue(Validators.validEmpty(victim).isValid("")); } }