Skip to content

Commit db9a961

Browse files
committed
Add equality semantics for Claim
1 parent 88fe92a commit db9a961

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

src/warranty/Claim.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package warranty;
22

3-
import java.util.ArrayList;
4-
import java.util.Date;
5-
import java.util.List;
6-
import java.util.UUID;
3+
import java.util.*;
74

85
/**
96
* Claim represents a request for a benefit on an extended warranty. It contains a
@@ -22,4 +19,12 @@ public Claim(double amount, Date failureDate) {
2219
this.amount = amount;
2320
this.failureDate = failureDate;
2421
}
22+
23+
@Override
24+
public boolean equals(Object o) {
25+
if (this == o) return true;
26+
if (o == null || getClass() != o.getClass()) return false;
27+
Claim claim = (Claim) o;
28+
return Objects.equals(id, claim.id);
29+
}
2530
}

src/warranty/ClaimTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,16 @@ public void TestClaimIsSetupCorrectly()
3535
@Test
3636
public void TestClaimEquality()
3737
{
38+
Claim claim1 = new Claim(100.0, new Date(2010, 5, 8));
39+
Claim claim2 = new Claim(100.0, new Date(2010, 5, 8));
40+
Claim claim3 = new Claim(100.0, new Date(2010, 5, 8));
41+
42+
UUID expectedId = UUID.randomUUID();
43+
claim1.id = expectedId;
44+
claim2.id = expectedId;
45+
assertEquals(claim1, claim2);
46+
47+
assertNotEquals(claim1, claim3);
3848
}
3949

4050
}

0 commit comments

Comments
 (0)