### Question:
FileResourceManipulator extends ResourceManipulator { @Override public void cleanupSource(ProcessScript<?> script) throws IOException { if (script == null) { throw new IllegalArgumentException("script must not be null"); } File path = FileResourceUtil.getPath(profile, script, arguments, DriverScript.Kind.SOURCE); delete(path); } FileResourceManipulator(FileProfile profile, ParameterList arguments); @Override String getName(); @Override void cleanupSource(ProcessScript<?> script); @Override void cleanupDrain(ProcessScript<?> script); @Override SourceDriver<T> createSourceForSource(ProcessScript<T> script); @Override DrainDriver<T> createDrainForSource(ProcessScript<T> script); @Override SourceDriver<T> createSourceForDrain(ProcessScript<T> script); @Override DrainDriver<T> createDrainForDrain(ProcessScript<T> script);  }### Answer:
@Test public void cleanupSource() throws Exception { File file = folder.newFile("file"); ProcessScript<StringBuilder> process = process("testing", driver(file.getName()), dummy()); FileResourceManipulator manipulator = new FileResourceManipulator(profile(), new ParameterList()); assertThat(file.exists(), is(true)); manipulator.cleanupSource(process); assertThat(file.exists(), is(false)); manipulator.cleanupSource(process); }