package com.indeed.proctor.store;

import java.util.List;
import java.util.Objects;

/**
 * Details of a single revision
 */
public class RevisionDetails {
    private final Revision revision;
    private final List<String> modifiedTests;

    public RevisionDetails(
            final Revision revision,
            final List<String> modifiedTests
    ) {
        this.revision = revision;
        this.modifiedTests = modifiedTests;
    }

    public Revision getRevision() {
        return revision;
    }

    public List<String> getModifiedTests() {
        return modifiedTests;
    }

    @Override
    public boolean equals(final Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        final RevisionDetails that = (RevisionDetails) o;
        return Objects.equals(modifiedTests, that.modifiedTests);
    }

    @Override
    public int hashCode() {
        return Objects.hash(modifiedTests);
    }
}

@@ -45,20 +45,23 @@
 va.util.
-List
+Objects
 ;%0Aimport
@@ -71,23 +71,19 @@
 va.util.
-Objects
+Set
 ;%0A%0A/**%0A 
@@ -199,27 +199,26 @@
 ivate final 
-Lis
+Se
 t%3CString%3E mo
@@ -314,19 +314,18 @@
   final 
-Lis
+Se
 t%3CString
@@ -516,11 +516,10 @@
 lic 
-Lis
+Se
 t%3CSt
@@ -856,32 +856,91 @@
 %0A        return 
+Objects.equals(revision, that.revision) &&%0A                
 Objects.equals(m
@@ -1051,16 +1051,26 @@
 ts.hash(
+revision, 
 modified
@@ -1082,11 +1082,255 @@
 );%0A    %7D
+%0A%0A    @Override%0A    public String toString() %7B%0A        return com.google.common.base.Objects.toStringHelper(this)%0A                .add(%22revision%22, revision)%0A                .add(%22modifiedTests%22, modifiedTests)%0A                .toString();%0A    %7D
 %0A%7D%0A

Use set for modified tests in revision details