1
+ package org .libj .util .concurrent ;
2
+
3
+ import static org .junit .Assert .*;
4
+
5
+ import java .util .concurrent .TimeUnit ;
6
+
7
+ import org .junit .Test ;
8
+
9
+ public class TimeUnitsTest {
10
+ private static final long [] values = {Long .MIN_VALUE , Integer .MIN_VALUE , Short .MIN_VALUE , Byte .MIN_VALUE , -1 , 1 , Byte .MAX_VALUE , Short .MAX_VALUE , Integer .MAX_VALUE , Long .MAX_VALUE };
11
+
12
+ private static void test (final TimeUnit unit0 , final TimeUnit unit1 ) {
13
+ assertTrue (unit0 .compareTo (unit1 ) < 0 );
14
+ final long time1 = 1 ;
15
+ final long time0 = unit0 .convert (time1 , unit1 );
16
+ assertEquals (0 , TimeUnits .compare (time0 , unit0 , time1 , unit1 ));
17
+ assertEquals (0 , TimeUnits .compare (time1 , unit1 , time0 , unit0 ));
18
+ for (long value : values ) {
19
+ assertEquals (1 , TimeUnits .compare (value , unit1 , value , unit0 ));
20
+ assertEquals (-1 , TimeUnits .compare (value , unit0 , value , unit1 ));
21
+ }
22
+ }
23
+
24
+ @ Test
25
+ public void test () {
26
+ assertEquals (0 , TimeUnits .compare (Long .MAX_VALUE , TimeUnit .MILLISECONDS , Long .MAX_VALUE , TimeUnit .MILLISECONDS ));
27
+ assertEquals (0 , TimeUnits .compare (Long .MAX_VALUE , TimeUnit .MICROSECONDS , Long .MAX_VALUE , TimeUnit .MICROSECONDS ));
28
+ assertEquals (0 , TimeUnits .compare (Long .MAX_VALUE , TimeUnit .NANOSECONDS , Long .MAX_VALUE , TimeUnit .NANOSECONDS ));
29
+
30
+ assertEquals (0 , TimeUnits .compare (Long .MAX_VALUE , TimeUnit .SECONDS , Long .MAX_VALUE , TimeUnit .SECONDS ));
31
+ assertEquals (1 , TimeUnits .compare (Long .MAX_VALUE , TimeUnit .SECONDS , Long .MAX_VALUE - 1 , TimeUnit .SECONDS ));
32
+ assertEquals (-1 , TimeUnits .compare (Long .MAX_VALUE - 1 , TimeUnit .SECONDS , Long .MAX_VALUE , TimeUnit .SECONDS ));
33
+
34
+ test (TimeUnit .HOURS , TimeUnit .DAYS );
35
+
36
+ test (TimeUnit .MINUTES , TimeUnit .HOURS );
37
+ test (TimeUnit .MINUTES , TimeUnit .DAYS );
38
+
39
+ test (TimeUnit .SECONDS , TimeUnit .MINUTES );
40
+ test (TimeUnit .SECONDS , TimeUnit .HOURS );
41
+ test (TimeUnit .SECONDS , TimeUnit .DAYS );
42
+
43
+ test (TimeUnit .MILLISECONDS , TimeUnit .SECONDS );
44
+ test (TimeUnit .MILLISECONDS , TimeUnit .MINUTES );
45
+ test (TimeUnit .MILLISECONDS , TimeUnit .HOURS );
46
+ test (TimeUnit .MILLISECONDS , TimeUnit .DAYS );
47
+
48
+ test (TimeUnit .MICROSECONDS , TimeUnit .MILLISECONDS );
49
+ test (TimeUnit .MICROSECONDS , TimeUnit .SECONDS );
50
+ test (TimeUnit .MICROSECONDS , TimeUnit .MINUTES );
51
+ test (TimeUnit .MICROSECONDS , TimeUnit .HOURS );
52
+ test (TimeUnit .MICROSECONDS , TimeUnit .DAYS );
53
+
54
+ test (TimeUnit .NANOSECONDS , TimeUnit .MICROSECONDS );
55
+ test (TimeUnit .NANOSECONDS , TimeUnit .MILLISECONDS );
56
+ test (TimeUnit .NANOSECONDS , TimeUnit .SECONDS );
57
+ test (TimeUnit .NANOSECONDS , TimeUnit .MINUTES );
58
+ test (TimeUnit .NANOSECONDS , TimeUnit .HOURS );
59
+ test (TimeUnit .NANOSECONDS , TimeUnit .DAYS );
60
+ }
61
+ }
0 commit comments