@Test
public void sameRenamingBackAndForth() {

    String anotherSha = "commit_3";
    addRenameEntry(new SmellDuplicationChecker.FileRenameEntry(anotherSha,
            sameCommit.newFile, sameCommit.oldFile));
    Smell original = new Smell("MIM", "d.e.f", sameCommit.oldFile);
    Smell firstRename = new Smell("MIM", "g.h.i", sameCommit.newFile);
    Smell renameEqualToFirst = new Smell("MIM", original.instance, original.file);
    Commit commit = new Commit(sameCommit.sha1, 1);
    mockPreviousQualifiedName("d.e.f");
    SmellDuplicationChecker checker = getDuplicationChecker();
    // The original guess will create a cache that is used between commits
    Smell expectedOriginal = checker.original(firstRename, commit, parent);
    mockPreviousQualifiedName("g.h.i");
    Commit new_commit = new Commit(anotherSha, 2);
    Smell expectedFirstRename = checker.original(renameEqualToFirst, new_commit, commit);
    assertNotNull(expectedOriginal);
    assertNotNull(expectedFirstRename);
    assertEquals(expectedOriginal, original);
    assertEquals(expectedFirstRename, firstRename);
    assertEquals(original, renameEqualToFirst);
}