For a full test that persisting an unchanged index doesn't fire an IndexChanged event I would also add a test which uses DirCacheBuilder. It is quite easy to detect that an DirCacheEditor with no edits will not change the index. But a builder which creates new DirCacheEntry instances which happen to have the same content as before - that's much more demanding.
Suggestion: in the previous test testBuildOneFile_Commit_FiresIndexChangedEvent() just add some block to the end where you again create a builder, add a new DirCacheEntry with the same values as before and commit that. That should not throw an event.