9
9
import org .elasticsearch .common .unit .TimeValue ;
10
10
import org .elasticsearch .test .ESTestCase ;
11
11
import org .elasticsearch .test .EqualsHashCodeTestUtils ;
12
+ import org .junit .Before ;
12
13
13
14
import java .util .concurrent .TimeUnit ;
14
15
15
16
public class TimeValueScheduleTests extends ESTestCase {
16
17
18
+ private long start ;
19
+ private TimeValue interval ;
20
+
17
21
public TimeValueSchedule createRandomInstance () {
18
22
return new TimeValueSchedule (createRandomTimeValue ());
19
23
}
@@ -22,7 +26,15 @@ private TimeValue createRandomTimeValue() {
22
26
return new TimeValue (randomLongBetween (1 , 10000 ), randomFrom (TimeUnit .SECONDS , TimeUnit .MINUTES , TimeUnit .HOURS , TimeUnit .DAYS ));
23
27
}
24
28
25
- public void testHascodeAndEquals () {
29
+ @ Before
30
+ public void setUpStartAndInterval () {
31
+ // start with random epoch between 1/1/1970 and 31/12/2035 so that start is not
32
+ // so large such that (start + interval) > Long.MAX
33
+ start = randomLongBetween (0 , 2082672000000L );
34
+ interval = createRandomTimeValue ();
35
+ }
36
+
37
+ public void testHashcodeAndEquals () {
26
38
for (int i = 0 ; i < 20 ; i ++) {
27
39
EqualsHashCodeTestUtils .checkEqualsAndHashCode (createRandomInstance (),
28
40
instance -> new TimeValueSchedule (instance .getInterval ()),
@@ -31,34 +43,26 @@ public void testHascodeAndEquals() {
31
43
}
32
44
33
45
public void testNextScheduledTimeFirstTriggerNotReached () {
34
- long start = randomNonNegativeLong ();
35
- TimeValue interval = createRandomTimeValue ();
36
46
long triggerTime = start + interval .millis ();
37
47
long now = start + randomLongBetween (0 , interval .millis () - 1 );
38
48
TimeValueSchedule schedule = new TimeValueSchedule (interval );
39
49
assertEquals (triggerTime , schedule .nextScheduledTimeAfter (start , now ));
40
50
}
41
51
42
52
public void testNextScheduledTimeAtFirstInterval () {
43
- long start = randomNonNegativeLong ();
44
- TimeValue interval = createRandomTimeValue ();
45
53
long triggerTime = start + 2 * interval .millis ();
46
54
long now = start + interval .millis ();
47
55
TimeValueSchedule schedule = new TimeValueSchedule (interval );
48
56
assertEquals (triggerTime , schedule .nextScheduledTimeAfter (start , now ));
49
57
}
50
58
51
59
public void testNextScheduledTimeAtStartTime () {
52
- long start = randomNonNegativeLong ();
53
- TimeValue interval = createRandomTimeValue ();
54
60
long triggerTime = start + interval .millis ();
55
61
TimeValueSchedule schedule = new TimeValueSchedule (interval );
56
62
assertEquals (triggerTime , schedule .nextScheduledTimeAfter (start , start ));
57
63
}
58
64
59
65
public void testNextScheduledTimeAfterFirstTrigger () {
60
- long start = randomNonNegativeLong ();
61
- TimeValue interval = createRandomTimeValue ();
62
66
long numberIntervalsPassed = randomLongBetween (0 , 10000 );
63
67
long triggerTime = start + (numberIntervalsPassed + 1 ) * interval .millis ();
64
68
long now = start
0 commit comments