PathRev implements CacheValue, Comparable<PathRev> { @Override public boolean equals(Object obj) { if (obj == this) { return true; } else if (obj instanceof PathRev) { PathRev other = (PathRev) obj; return revision.equals(other.revision) && path.equals(other.path); } return false; } PathRev(@NotNull Path path, @NotNull RevisionVector revision); Path getPath(); RevisionVector getRevision(); @Override int getMemory(); int compareTo(@NotNull PathRev other); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString();  }
@Test public void equals() { Path path = Path.fromString("/this/is/a/test/path"); RevisionVector rv = new RevisionVector( Revision.newRevision(1), Revision.newRevision(2)); PathRev expected = new PathRev(path, rv); assertEquals(expected, new PathRev(path, rv)); }