### Question:
Row { @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null || this.getClass() != obj.getClass()) { return false; } Row other = (Row) obj; return new EqualsBuilder().append(this.cells, other.cells).build(); }  Row addCell(ColumnMetaData columnMetaInfo, Object cellData); int getCellCount(); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString(); Set<Entry<ColumnMetaData, Object>> getRowSet();  }### Answer:
@Test public void equalsContractTest() { assertEquals(sutA1, sutA1, "Reflexive"); assertEquals(sutA1, sutA2, "Equal Symmetric"); assertEquals(sutA2, sutA1, "Equal Symmetric"); assertFalse(sutA1.equals(sutB1), "Not Equal Symmetric"); assertFalse(sutB1.equals(sutA1), "Not Equal Symmetric"); assertEquals(sutA1, sutA2, "Transitive"); assertEquals(sutA1, sutA3, "Transitive"); assertEquals(sutA2, sutA3, "Transitive"); assertFalse(sutA1.equals(null), "Null value should return false"); }