### Question:
ProcessLauncherImpl implements ProcessLauncher { @Override public boolean isExecutable(String binaryPath) { Path path = Paths.get(binaryPath); return isExecutable(path); }  @Override Process launch(String program, List<String> args); @Override boolean isExecutable(String binaryPath);  }### Answer:
@Test public void testIsExecutable() { PowerMock.mockStatic(Paths.class); PowerMock.mockStatic(Files.class); final Path path = mock(Path.class); Paths.get("test-file"); PowerMock.expectLastCall().andReturn(path); Files.isRegularFile(path); PowerMock.expectLastCall().andReturn(false); PowerMock.replayAll(); assertFalse(processLauncher.isExecutable("test-file")); PowerMock.verifyAll(); PowerMock.resetAll(); Paths.get("test-file"); PowerMock.expectLastCall().andReturn(path); Files.isRegularFile(path); PowerMock.expectLastCall().andReturn(true); Files.isReadable(path); PowerMock.expectLastCall().andReturn(false); PowerMock.replayAll(); assertFalse(processLauncher.isExecutable("test-file")); PowerMock.verifyAll(); PowerMock.resetAll(); Paths.get("test-file"); PowerMock.expectLastCall().andReturn(path); Files.isRegularFile(path); PowerMock.expectLastCall().andReturn(true); Files.isReadable(path); PowerMock.expectLastCall().andReturn(true); Files.isExecutable(path); PowerMock.expectLastCall().andReturn(false); PowerMock.replayAll(); assertFalse(processLauncher.isExecutable("test-file")); PowerMock.verifyAll(); PowerMock.resetAll(); Paths.get("test-file"); PowerMock.expectLastCall().andReturn(path); Files.isRegularFile(path); PowerMock.expectLastCall().andReturn(true); Files.isReadable(path); PowerMock.expectLastCall().andReturn(true); Files.isExecutable(path); PowerMock.expectLastCall().andReturn(true); PowerMock.replayAll(); assertTrue(processLauncher.isExecutable("test-file")); PowerMock.verifyAll(); }