@Test
 public void addedButNotCommittedIsDirty() throws Exception {
   assertFalse(EGitUtils.isDirty(testRepository.getRepository(), new NullProgressMonitor()));
   File file = testRepository.createFile("a.txt", "protoculture");
   testRepository.add(file);
   assertTrue(EGitUtils.isDirty(testRepository.getRepository(), new NullProgressMonitor()));
 }
 @Test
 public void untrackedWhileDontIncludeUntrackedIsNotDirty() throws Exception {
   assertFalse(EGitUtils.isDirty(testRepository.getRepository(), new NullProgressMonitor()));
   testRepository.createFile("a.txt", "protoculture");
   assertFalse(
       EGitUtils.isDirty(testRepository.getRepository(), false, new NullProgressMonitor()));
 }
 @Test
 public void removedButNotCommittedIsDirty() throws Exception {
   assertFalse(EGitUtils.isDirty(testRepository.getRepository(), new NullProgressMonitor()));
   File file = testRepository.createFile("a.txt", "protonica");
   testRepository.addAndCommit(file, "commit-by-junit-tests");
   assertFalse(EGitUtils.isDirty(testRepository.getRepository(), new NullProgressMonitor()));
   file.delete();
   assertTrue(EGitUtils.isDirty(testRepository.getRepository(), new NullProgressMonitor()));
 }
 @Test
 public void newUntrackedFileIsNotCountedIfIgnoreUntracked() throws Exception {
   assertFalse(EGitUtils.isDirty(testRepository.getRepository(), new NullProgressMonitor()));
   testRepository.createFile(testProject.getProject(), "a.txt", "42");
   int numOfChanges =
       EGitUtils.countChanges(testRepository.getRepository(), false, new NullProgressMonitor());
   assertEquals(0, numOfChanges);
 }
 @Test
 public void untrackedWhileIncludeUntrackedIsDirty() throws Exception {
   assertFalse(EGitUtils.isDirty(testRepository.getRepository(), new NullProgressMonitor()));
   testRepository.createFile(testProject.getProject(), "a.txt", "42");
   assertTrue(EGitUtils.isDirty(testRepository.getRepository(), true, new NullProgressMonitor()));
 }