Relato implements Avaliavel { @Override public int hashCode() { return classe.hashCode(); } Relato(String classe, Map<String, Valor> atributos); @Override Valor get(String atributo); Set<String> getVariaveis(); @Override String getClasse(); @Override boolean equals(Object o); @Override int hashCode();  }
@Test public void relatosIguaisHashCodeIguais() { Relato r1 = new Relato("h", atributos); Relato r2 = new Relato("h", atributos); assertEquals(r1, r2); assertEquals(r1.hashCode(), r2.hashCode()); }