|
|
@@ -29,10 +29,16 @@ public class CarrierMovementTest {
|
|
29
|
29
|
|
|
30
|
30
|
@Test
|
|
31
|
31
|
public void testSameValueAsEqualsHashCode() {
|
|
32
|
|
- CarrierMovement cm1 = new CarrierMovement(STOCKHOLM, HAMBURG, new Date(), new Date());
|
|
33
|
|
- CarrierMovement cm2 = new CarrierMovement(STOCKHOLM, HAMBURG, new Date(), new Date());
|
|
34
|
|
- CarrierMovement cm3 = new CarrierMovement(HAMBURG, STOCKHOLM, new Date(), new Date());
|
|
35
|
|
- CarrierMovement cm4 = new CarrierMovement(HAMBURG, STOCKHOLM, new Date(), new Date());
|
|
|
32
|
+ long referenceTime = System.currentTimeMillis();
|
|
|
33
|
+
|
|
|
34
|
+ // One could, in theory, use the same Date(referenceTime) for all of these movements
|
|
|
35
|
+ // However, in practice, carrier movements will be initialized by different processes
|
|
|
36
|
+ // so we might have different Date that reference the same time, and we want to be
|
|
|
37
|
+ // certain that sameValueAs does the right thing in that case.
|
|
|
38
|
+ CarrierMovement cm1 = new CarrierMovement(STOCKHOLM, HAMBURG, new Date(referenceTime), new Date(referenceTime));
|
|
|
39
|
+ CarrierMovement cm2 = new CarrierMovement(STOCKHOLM, HAMBURG, new Date(referenceTime), new Date(referenceTime));
|
|
|
40
|
+ CarrierMovement cm3 = new CarrierMovement(HAMBURG, STOCKHOLM, new Date(referenceTime), new Date(referenceTime));
|
|
|
41
|
+ CarrierMovement cm4 = new CarrierMovement(HAMBURG, STOCKHOLM, new Date(referenceTime), new Date(referenceTime));
|
|
36
|
42
|
|
|
37
|
43
|
assertThat(cm1.sameValueAs(cm2)).isTrue();
|
|
38
|
44
|
assertThat(cm2.sameValueAs(cm3)).isFalse();
|