### Question:
ExecutableDifferenceReporter implements Reporter { @Override public boolean canApprove(File fileForApproval) { if (executable != null) { return new ExecutableExistsOnPath(executable).execute(); } return true; } ExecutableDifferenceReporter(String approvalCommand, String diffCommand, @Nullable String executable); @Override void notTheSame(byte[] oldValue, File fileForVerification, byte[] newValue, File fileForApproval); @Override void approveNew(byte[] value, File approvalDestination, File fileForVerification); @Override boolean canApprove(File fileForApproval); static Process runProcess(String... cmdParts);  }### Answer:
@Test public void shouldNotCheckIfExecutableExistsIfItIsNull() throws Exception { final boolean canApprove = new ExecutableDifferenceReporter(GVIM_EXECUTABLE, GDIFFVIM_EXECUTABLE, null).canApprove(testFile.file()); assertTrue(canApprove); }