33import static org .junit .Assert .assertEquals ;
44import static org .junit .Assert .fail ;
55
6+ import org .gitlab4j .api .models .Duration ;
67import org .gitlab4j .api .utils .DurationUtils ;
78import org .junit .Test ;
89
@@ -27,6 +28,29 @@ public void testParse() {
2728 assertEquals (60 * 60 , seconds );
2829 }
2930
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+
3054 @ Test
3155 public void testParseWithSpaces () {
3256
@@ -108,5 +132,8 @@ public void testToString() {
108132
109133 duration = DurationUtils .toString (60 * 60 * 8 * 5 * 4 * 3 + 60 * 60 * 8 * 2 + 60 * 60 * 3 + 60 * 6 + 8 , false );
110134 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 );
111138 }
112139}
0 commit comments