@Override public void apply(MultipleOutputTaskParametersBuilder<? extends SingleOrMultipleOutputTaskParameters> builder, Consumer<String> onError) { getTextField().validate(); if (getTextField().getValidationState() == ValidationState.VALID) { Path output = Paths.get(getTextField().getText()); if (!Files.exists(output)) { eventStudio().broadcast(new NonExistingOutputDirectoryEvent(output)); } if (Files.isDirectory(output)) { builder.output(directory(output.toFile())); } else { onError.accept(DefaultI18nContext.getInstance().i18n("An existing output directory is required")); } } else { onError.accept(DefaultI18nContext.getInstance().i18n("The output directory is required")); } } }
@Test(expected = IllegalArgumentException.class) public void dirFactoryInvalidDirectory() { when(directory.isDirectory()).thenReturn(Boolean.FALSE); FileOrDirectoryTaskOutput.directory(directory); }
@Test(expected = IllegalArgumentException.class) public void dirFactoryNullFile() { FileOrDirectoryTaskOutput.directory(null); }
@Test public void dirFactoryValidDirectory() { when(directory.isDirectory()).thenReturn(Boolean.TRUE); FileOrDirectoryTaskOutput instance = FileOrDirectoryTaskOutput.directory(directory); assertNotNull(instance); }