GeneScore implements Comparable<GeneScore> { @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; GeneScore geneScore = (GeneScore) o; return Float.compare(geneScore.combinedScore, combinedScore) == 0 && Float.compare(geneScore.phenotypeScore, phenotypeScore) == 0 && Float.compare(geneScore.variantScore, variantScore) == 0 && Objects.equals(geneIdentifier, geneScore.geneIdentifier) && modeOfInheritance == geneScore.modeOfInheritance && Objects.equals(contributingVariants, geneScore.contributingVariants); } private  GeneScore(Builder builder); GeneIdentifier getGeneIdentifier(); ModeOfInheritance getModeOfInheritance(); float getCombinedScore(); float getPhenotypeScore(); float getVariantScore(); List<VariantEvaluation> getContributingVariants(); boolean hasContributingVariants(); static GeneScore max(GeneScore s1, GeneScore s2); int compareTo(GeneScore anotherGeneScore); static int compare(GeneScore s1, GeneScore s2); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); static GeneScore empty(); static Builder builder();  }
@Test public void equals() { assertThat(GeneScore.builder().build(), equalTo(GeneScore.builder().build())); }