@TestpublicvoidgivenValidNameAndAddress_whenGetNameAndAddress_thenExpectedValuesReturned(){Stringname="John Doe";Stringaddress="100 Linda Ln.";Personperson=newPerson(name,address);assertEquals(name,person.name());assertEquals(address,person.address());}
equals
1
2
3
4
5
6
7
8
9
10
@TestpublicvoidgivenSameNameAndAddress_whenEquals_thenPersonsEqual(){Stringname="John Doe";Stringaddress="100 Linda Ln.";Personperson1=newPerson(name,address);Personperson2=newPerson(name,address);assertTrue(person1.equals(person2));}
hashCode
필드값이 모두 일치한다면, 같은 해시코드를 반환한다.(birthday paradox로 인한 충돌을 방지하기 위함)
1
2
3
4
5
6
7
8
9
10
@TestpublicvoidgivenSameNameAndAddress_whenHashCode_thenPersonsEqual(){Stringname="John Doe";Stringaddress="100 Linda Ln.";Personperson1=newPerson(name,address);Personperson2=newPerson(name,address);assertEquals(person1.hashCode(),person2.hashCode());}