/** * @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; }; }
/** * @param validator * @return a new instance of a validator that returns true if all the given validators return true */ public static Validator<String> and(Validator<String>... validators) { return v -> Arrays.stream(validators).allMatch(validator -> validator.isValid(v)); } }
@Test public void testPositive() throws IOException { Path test = Files.createTempFile("tmp", "test"); Assert.assertTrue(victim.isValid(test.toAbsolutePath().toString())); Files.delete(test); }
@Test public void testPositive() throws IOException { Path test = Files.createTempDirectory("tmp"); Assert.assertTrue(victim.isValid(test.toAbsolutePath().toString())); Files.delete(test); }
@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); }
@Test public void existingAll() throws IOException { Validator<String> victim = Validators.existingFileType(FileType.ALL); Path test = Files.createTempFile("tmp", ".norris"); Assert.assertTrue(victim.isValid(test.toAbsolutePath().toString())); Files.delete(test); }
@Test public void existingHtml() throws IOException { Validator<String> victim = Validators.existingFileType(FileType.HTML); Path test = Files.createTempFile("tmp", ".htm"); Assert.assertTrue(victim.isValid(test.toAbsolutePath().toString())); Files.delete(test); }
@Test public void empty() { assertFalse(victim.isValid("")); } }
@Test public void invalid() { assertFalse(victim.isValid("dsdsa")); }
@Test public void testNegative() { assertFalse(victim.isValid("-123")); }
@Test public void testValid() { assertTrue(victim.isValid("5")); } }
@Test public void blank() { assertFalse(victim.isValid(" ")); }
@Test public void notExistingValid() { Validator<String> victim = Validators.fileType(FileType.ALL, false); Assert.assertTrue(victim.isValid("/Chuck/Norris")); } }
@Test public void notExisting() { Validator<String> victim = Validators.existingFileType(FileType.ALL); Assert.assertFalse(victim.isValid("/Chuck/Norris")); }