3
3
import static org .junit .Assert .assertEquals ;
4
4
import static org .junit .Assert .fail ;
5
5
6
+ import org .gitlab4j .api .models .Duration ;
6
7
import org .gitlab4j .api .utils .DurationUtils ;
7
8
import org .junit .Test ;
8
9
@@ -27,6 +28,29 @@ public void testParse() {
27
28
assertEquals (60 * 60 , seconds );
28
29
}
29
30
31
+ @ Test
32
+ public void testRoundTrip () {
33
+
34
+ Duration duration = new Duration ("2mo1d" );
35
+ String durationString = DurationUtils .toString (duration .getSeconds (), false );
36
+ assertEquals ("8w1d" , durationString );
37
+ duration = new Duration (durationString );
38
+ assertEquals ("2mo1d" , duration .toString ());
39
+
40
+ duration = new Duration ("9w2h5m" );
41
+ durationString = DurationUtils .toString (duration .getSeconds (), false );
42
+ assertEquals ("9w0d2h5m" , durationString );
43
+ duration = new Duration (durationString );
44
+ assertEquals ("2mo1w0d2h5m" , duration .toString ());
45
+
46
+ duration = new Duration ("2mo1w1d2h5m" );
47
+ durationString = DurationUtils .toString (duration .getSeconds (), false );
48
+ assertEquals ("9w1d2h5m" , durationString );
49
+ duration = new Duration (durationString );
50
+ assertEquals ("2mo1w1d2h5m" , duration .toString ());
51
+ }
52
+
53
+
30
54
@ Test
31
55
public void testParseWithSpaces () {
32
56
@@ -108,5 +132,8 @@ public void testToString() {
108
132
109
133
duration = DurationUtils .toString (60 * 60 * 8 * 5 * 4 * 3 + 60 * 60 * 8 * 2 + 60 * 60 * 3 + 60 * 6 + 8 , false );
110
134
assertEquals ("12w2d3h6m8s" , duration );
135
+
136
+ duration = DurationUtils .toString (60 * 60 * 8 * 5 * 5 + 60 * 60 * 8 * 2 + 60 * 60 * 3 + 60 * 4 + 5 , false );
137
+ assertEquals ("5w2d3h4m5s" , duration );
111
138
}
112
139
}
0 commit comments