@Test
public void testModifiedNotUpdatedFiles() throws IOException, JavaGitException {

    List<File> filesToAdd = new ArrayList<File>();
    filesToAdd.add(file1);
    filesToAdd.add(file2);
    filesToAdd.add(new File("testDirectory"));
    filesToAdd.add(new File("testDirectory" + File.separator + file3.getPath()));
    GitAddOptions addOptions = new GitAddOptions();
    // Add the files for committing
    gitAdd.add(repositoryDirectory, addOptions, filesToAdd);
    // Commit the added files
    gitCommit.commit(repositoryDirectory, "Test commit of two files");
    // modify one of the committed files
    FileUtilities.modifyFileContents(new File(repositoryDirectory.getPath() + File.separator + file1.getPath()), "Test append text\n");
    FileUtilities.modifyFileContents(new File(testDir.getPath() + File.separator + file3.getPath()), "Another sample text added to foobar03\n");
    List<File> statusPath = null;
    GitStatusResponse status = gitStatus.status(repositoryDirectory, options, statusPath);
    // run status to find the modified but not updated files
    checkModifiedFiles(status);
    if (new File(repositoryDirectory.getPath() + File.separator + file2.getPath()).delete()) {
        status = gitStatus.status(repositoryDirectory, options, statusPath);
        if (JavaGitConfiguration.getGitVersionObject().compareTo(new GitVersion("1.7.0")) == GitVersion.LATER) {
            assertEquals("No of deleted files not equal", 1, status.getDeletedFilesToCommitSize());
        } else {
            assertEquals("No of deleted files not equal", 1, status.getDeletedFilesNotUpdatedSize());
        }
        checkModifiedFiles(status);
        //    assertEquals("No of modified but not updated files not equal", 2, modifiedNotUpdatedFiles);
    } else {
        fail("Failed to delete file \"foobar02\"");
    }
}