2323 */
2424package hudson .util ;
2525
26- import java .util .Arrays ;
27- import java .util .stream .Collectors ;
26+ import java .util .List ;
2827import java .util .stream .Stream ;
2928import org .apache .maven .artifact .versioning .ComparableVersion ;
3029import org .apache .maven .artifact .versioning .DefaultArtifactVersion ;
31- import org .hamcrest .CoreMatchers ;
32- import static org .junit .Assert .assertEquals ;
33- import static org .junit .Assert .assertFalse ;
34- import static org .junit .Assert .assertNotEquals ;
35- import static org .junit .Assert .assertTrue ;
36- import org .junit .Ignore ;
37- import org .junit .Rule ;
38- import org .junit .Test ;
39- import org .junit .rules .ErrorCollector ;
40- import org .jvnet .hudson .test .Issue ;
4130
42- public class VersionNumberTest {
31+ import static org .junit .jupiter .api .Assertions .assertAll ;
32+ import static org .junit .jupiter .api .Assertions .assertEquals ;
33+ import static org .junit .jupiter .api .Assertions .assertFalse ;
34+ import static org .junit .jupiter .api .Assertions .assertNotEquals ;
35+ import static org .junit .jupiter .api .Assertions .assertTrue ;
36+
37+ import org .junit .jupiter .api .Disabled ;
38+ import org .junit .jupiter .api .Test ;
39+ import org .jvnet .hudson .test .Issue ;
4340
44- @ Rule
45- public ErrorCollector errors = new ErrorCollector ();
41+ class VersionNumberTest {
4642
4743 @ Test
48- public void isNewerThan () {
44+ void isNewerThan () {
4945 assertTrue (new VersionNumber ("2.0.*" ).isNewerThan (new VersionNumber ("2.0" )));
5046 assertTrue (new VersionNumber ("2.1-SNAPSHOT" ).isNewerThan (new VersionNumber ("2.0.*" )));
5147 assertTrue (new VersionNumber ("2.1" ).isNewerThan (new VersionNumber ("2.1-SNAPSHOT" )));
@@ -62,20 +58,20 @@ public void isNewerThan() {
6258
6359 @ Issue ("https://gitter.im/jenkinsci/configuration-as-code-plugin?at=5b4f2fc455a7e23c014da2af" )
6460 @ Test
65- public void alpha () {
61+ void alpha () {
6662 assertTrue (new VersionNumber ("2.0" ).isNewerThan (new VersionNumber ("2.0-alpha-1" )));
6763 assertTrue (new VersionNumber ("2.0-alpha-1" ).isNewerThan (new VersionNumber ("2.0-alpha-1-rc9999.abc123def456" )));
6864 }
69-
65+
7066 @ Test
71- public void earlyAccess () {
67+ void earlyAccess () {
7268 assertTrue (new VersionNumber ("2.0.ea2" ).isNewerThan (new VersionNumber ("2.0.ea1" )));
7369 assertTrue (new VersionNumber ("2.0.ea1" ).isNewerThan (new VersionNumber ("2.0.ea" )));
7470 assertEquals (new VersionNumber ("2.0.ea" ), new VersionNumber ("2.0.ea0" ));
7571 }
76-
72+
7773 @ Test
78- public void snapshots () {
74+ void snapshots () {
7975 assertTrue (new VersionNumber ("1.12" ).isNewerThan (new VersionNumber ("1.12-SNAPSHOT (private-08/24/2008 12:13-hudson)" )));
8076 assertTrue (new VersionNumber ("1.12-SNAPSHOT (private-08/24/2008 12:13-hudson)" ).isNewerThan (new VersionNumber ("1.11" )));
8177 assertEquals (new VersionNumber ("1.12-SNAPSHOT (private-08/24/2008 12:13-hudson)" ), new VersionNumber ("1.12-SNAPSHOT" ));
@@ -88,7 +84,7 @@ public void snapshots() {
8884 }
8985
9086 @ Test
91- public void timestamps () {
87+ void timestamps () {
9288 assertTrue (new VersionNumber ("2.0.3-20170207.105042-1" ).isNewerThan (new VersionNumber ("2.0.2" )));
9389 assertTrue (new VersionNumber ("2.0.3" ).isNewerThan (new VersionNumber ("2.0.3-20170207.105042-1" )));
9490 assertEquals (new VersionNumber ("2.0.3-20170207.105042-1" ), new VersionNumber ("2.0.3-SNAPSHOT" ));
@@ -101,7 +97,7 @@ public void timestamps() {
10197 }
10298
10399 @ Test
104- public void digit () {
100+ void digit () {
105101 assertEquals (32 , new VersionNumber ("2.32.3.1-SNAPSHOT" ).getDigitAt (1 ));
106102 assertEquals (3 , new VersionNumber ("2.32.3.1-SNAPSHOT" ).getDigitAt (2 ));
107103 assertEquals (1 , new VersionNumber ("2.32.3.1-SNAPSHOT" ).getDigitAt (3 ));
@@ -117,27 +113,28 @@ public void digit() {
117113 assertEquals (-1 , new VersionNumber ("" ).getDigitAt (0 ));
118114 }
119115
120- private void assertOrderAlsoInMaven (String ... versions ) {
121- errors .checkThat ("Maven order is correct" , Stream .of (versions ).map (ComparableVersion ::new ).sorted ().map (ComparableVersion ::toString ).collect (Collectors .toList ()), CoreMatchers .is (Arrays .asList (versions )));
122- errors .checkThat ("Jenkins order is correct" , Stream .of (versions ).map (VersionNumber ::new ).sorted ().map (VersionNumber ::toString ).collect (Collectors .toList ()), CoreMatchers .is (Arrays .asList (versions )));
116+ private static void assertOrderAlsoInMaven (String ... versions ) {
117+ assertAll (
118+ () -> assertEquals (Stream .of (versions ).map (ComparableVersion ::new ).sorted ().map (ComparableVersion ::toString ).toList (), List .of (versions ), "Maven order is correct" ),
119+ () -> assertEquals (Stream .of (versions ).map (VersionNumber ::new ).sorted ().map (VersionNumber ::toString ).toList (), List .of (versions ), "Jenkins order is correct" ));
123120 }
124121
125- @ Ignore ("TODO still pretty divergent: …was <[2.0.ea, 2.0.0, 2.0, 2.0.1-alpha-1, 2.0.1-SNAPSHOT, 2.0.*, 2.0.0.99, 2.0.1-alpha-1-rc9999.abc123def456, 2.0.1-rc9999.abc123def456, 2.0.1]>" )
122+ @ Disabled ("TODO still pretty divergent: …was <[2.0.ea, 2.0.0, 2.0, 2.0.1-alpha-1, 2.0.1-SNAPSHOT, 2.0.*, 2.0.0.99, 2.0.1-alpha-1-rc9999.abc123def456, 2.0.1-rc9999.abc123def456, 2.0.1]>" )
126123 @ Issue ("JENKINS-51594" )
127124 @ Test
128- public void mavenComparison () {
125+ void mavenComparison () {
129126 assertOrderAlsoInMaven ("2.0.0" , "2.0" , "2.0.*" , "2.0.ea" , "2.0.0.99" , "2.0.1-alpha-1-rc9999.abc123def456" , "2.0.1-alpha-1" , "2.0.1-rc9999.abc123def456" , "2.0.1-SNAPSHOT" , "2.0.1" );
130127 }
131128
132129 @ Issue ("https://github.com/jenkinsci/commons-lang3-api-plugin/pull/21" )
133130 @ Test
134- public void libraryWrapper () {
131+ void libraryWrapper () {
135132 assertOrderAlsoInMaven ("3.12.0.0" , "3.12.0-44.v1234deadbeef" , "3.12.0-55.v1234deadbeef" , "3.12.1-66.v1234deadbeef" );
136133 }
137134
138135 @ Issue ("JEP-229" )
139136 @ Test
140- public void backportJep229 () {
137+ void backportJep229 () {
141138 // Maven considers 99.1.abcd1234abcd to sort before 99.1234deadbeef so we cannot simply use 99. as the branch prefix.
142139 // Nor can we use 99.1234deadbeef. as the prefix because Maven would compare 5 and 10 lexicographically.
143140 // 100._. seems to work but is not intuitive.
@@ -147,7 +144,7 @@ public void backportJep229() {
147144
148145 @ Issue ("https://github.com/jenkinsci/incrementals-tools/issues/29" )
149146 @ Test
150- public void majorVersion () {
147+ void majorVersion () {
151148 assertOrderAlsoInMaven ("1.1" , "391.ve4a_38c1b_cf4b_" );
152149 // Weird but TBD if this matters in practice:
153150 assertEquals (0 , new DefaultArtifactVersion ("391.ve4a_38c1b_cf4b_" ).getMajorVersion ());
@@ -157,7 +154,7 @@ public void majorVersion() {
157154 }
158155
159156 @ Test
160- public void testOrEqualTo () {
157+ void testOrEqualTo () {
161158 assertTrue (new VersionNumber ("1.8" ).isNewerThanOrEqualTo (new VersionNumber ("1.8" )));
162159 assertTrue (new VersionNumber ("1.9" ).isNewerThanOrEqualTo (new VersionNumber ("1.8" )));
163160 assertTrue (new VersionNumber ("2" ).isNewerThanOrEqualTo (new VersionNumber ("1.8" )));
0 commit comments