### Question:
ProcessIdFileReader { public static String getProcessId(Path path) throws IOException { if (path == null) { throw new IOException("Trying to access process id from a null path"); } LOG.debug("Accessing pid from pid file " + path); String processId = null; FileReader fileReader = null; BufferedReader bufReader = null; try { File file = new File(path.toString()); if (file.exists()) { fileReader = new FileReader(file); bufReader = new BufferedReader(fileReader); while (true) { String line = bufReader.readLine(); if (line == null) { break; } String temp = line.trim(); if (!temp.isEmpty()) { try { Long pid = Long.valueOf(temp); if (pid > 0) { processId = temp; break; } } catch (Exception e) { } } } } } finally { if (fileReader != null) { fileReader.close(); } if (bufReader != null) { bufReader.close(); } } LOG.debug("Got pid " + (processId != null? processId : "null") + " from path " + path); return processId; }  static String getProcessId(Path path);  }### Answer:
@Test public void testNullPath() { String pid = null; try { pid = ProcessIdFileReader.getProcessId(null); fail("Expected an error to be thrown for null path"); } catch (Exception e) { } assert(pid == null); }
@Test public void testSimpleGet() throws IOException { String rootDir = new File(System.getProperty( "test.build.data", "/tmp")).getAbsolutePath(); File testFile = null; try { testFile = new File(rootDir, "temp.txt"); PrintWriter fileWriter = new PrintWriter(testFile); fileWriter.println("56789"); fileWriter.close(); String processId = null; processId = ProcessIdFileReader.getProcessId( new Path(rootDir + Path.SEPARATOR + "temp.txt")); Assert.assertEquals("56789", processId); } finally { if (testFile != null && testFile.exists()) { testFile.delete(); } } }
@Test public void testComplexGet() throws IOException { String rootDir = new File(System.getProperty( "test.build.data", "/tmp")).getAbsolutePath(); File testFile = null; try { testFile = new File(rootDir, "temp.txt"); PrintWriter fileWriter = new PrintWriter(testFile); fileWriter.println(" "); fileWriter.println(""); fileWriter.println("abc"); fileWriter.println("-123"); fileWriter.println("-123 "); fileWriter.println(" 23 "); fileWriter.println("6236"); fileWriter.close(); String processId = null; processId = ProcessIdFileReader.getProcessId( new Path(rootDir + Path.SEPARATOR + "temp.txt")); Assert.assertEquals("23", processId); } finally { if (testFile != null && testFile.exists()) { testFile.delete(); } } }