@Test
public void testRenameFile01() throws Exception {

    // 引数の設定
    String classFileName = this.getClass().getSimpleName() + ".class";
    URL url = this.getClass().getResource(classFileName);
    String directoryPath = url.getPath().substring(0,
            url.getPath().length() - classFileName.length());
    String srcFile = directoryPath + "testRenameFile01_src.txt";
    String newFile = directoryPath + "testRenameFile01_new.txt";
    // 前提条件の設定
    Field field = FileUtility.class.getDeclaredField("checkFileExist");
    field.setAccessible(true);
    field.set(FileUtility.class, false);        
    // テスト対象ファイルを初期化する。
    File testSrcFile = new File(srcFile);
    testSrcFile.delete();
    testSrcFile.createNewFile();
    File testNewFile = new File(newFile);
    testNewFile.delete();
    FileWriter testSrcFileFileWriter = null;
    BufferedReader postReader = null;
    try {
        testSrcFileFileWriter = new FileWriter(testSrcFile);
        testSrcFileFileWriter.write("testRenameFile01_src.txtデータ");
        testSrcFileFileWriter.flush();
        testSrcFileFileWriter.close();
        PowerMockito.mockStatic(FileUtility.class, Mockito.CALLS_REAL_METHODS);
        // テスト実施
        FileUtility.renameFile(srcFile, newFile);
        // 返却値なし
        // 状態変化の確認
        PowerMockito.verifyPrivate(FileUtility.class, Mockito.times(2)).invoke("checkAbsolutePath", Mockito.anyString());
        PowerMockito.verifyPrivate(FileUtility.class).invoke("checkAbsolutePath", srcFile);
        PowerMockito.verifyPrivate(FileUtility.class).invoke("checkAbsolutePath", newFile);
        // ファイル名の変更を確認
        File removeFile = new File(srcFile);
        assertFalse(removeFile.exists());
        File renameFile = new File(newFile);
        assertTrue(renameFile.exists());
        postReader = new BufferedReader(new InputStreamReader(
                new FileInputStream(renameFile)));
        assertTrue(postReader.ready());
        String expectationResultData = "testRenameFile01_src.txtデータ";
        String data = "";
        for (int i = 0; i < expectationResultData.length(); i++) {
            assertTrue(i + "回目の判定で失敗しました。", postReader.ready());
            data += (char) postReader.read();
        }
        assertEquals(expectationResultData, data);
        assertFalse(postReader.ready());
    } finally {
        if (testSrcFileFileWriter != null) {
            testSrcFileFileWriter.close();
        }
        if (postReader != null) {
            postReader.close();
        }
        // テスト後ファイルを削除
        File file = new File(srcFile);
        file.delete();
        file = new File(newFile);
        file.delete();
    }
}