@@ -29,10 +29,16 @@ public void testConstructor() {
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 ();
0 commit comments