1818
1919class VersionTest {
2020
21+
2122 @ Nested
2223 @ DisplayName ("parseVersion() tests" )
2324 class ParseVersionTests {
@@ -27,9 +28,7 @@ class ParseVersionTests {
2728 void testParseStandardVersion () {
2829 Version version = Version .parseVersion ("1.2.3" );
2930
30- assertEquals (1 , version .getMajor ());
31- assertEquals (2 , version .getMinor ());
32- assertEquals (3 , version .getPatch ());
31+ assertVersionParts (version , 1 , 2 , 3 );
3332 assertEquals ("1.2.3" , version .toString ());
3433 }
3534
@@ -45,30 +44,22 @@ void testParseComplexVersions() {
4544 assertNotNull (v3 );
4645
4746 // Check major/minor/patch extracted properly
48- assertEquals (0 , v1 .getMajor ());
49- assertEquals (1 , v1 .getPatch ());
50- assertEquals (1 , v2 .getMajor ());
51- assertEquals (2 , v2 .getMinor ());
52- assertEquals (0 , v3 .getPatch ());
47+ assertVersionParts (v1 , 0 , 0 , 1 );
48+ assertVersionParts (v2 , 1 , 2 , 0 );
49+ assertVersionParts (v3 , 1 , 0 , 0 );
5350 }
5451
5552 @ Test
5653 @ DisplayName ("should coerce loose versions like '1', '1.2', or 'v1.2.3'" )
5754 void testParseCoercibleVersions () {
5855 Version v1 = Version .parseVersion ("1" );
59- assertEquals (1 , v1 .getMajor ());
60- assertEquals (0 , v1 .getMinor ());
61- assertEquals (0 , v1 .getPatch ());
56+ assertVersionParts (v1 , 1 , 0 , 0 );
6257
6358 Version v2 = Version .parseVersion ("1.2" );
64- assertEquals (1 , v2 .getMajor ());
65- assertEquals (2 , v2 .getMinor ());
66- assertEquals (0 , v2 .getPatch ());
59+ assertVersionParts (v2 , 1 , 2 , 0 );
6760
6861 Version v3 = Version .parseVersion ("v1.2.3" );
69- assertEquals (1 , v3 .getMajor ());
70- assertEquals (2 , v3 .getMinor ());
71- assertEquals (3 , v3 .getPatch ());
62+ assertVersionParts (v3 , 1 , 2 , 3 );
7263 }
7364
7465 @ Test
@@ -215,6 +206,16 @@ void testSatisfiesWithComplexVersions() {
215206 assertTrue (v .satisfies (">=1.2.0" ));
216207 assertFalse (v .satisfies (">1.2.3" ));
217208 assertFalse (v .satisfies ("=1.2.3" ));
209+
210+ // Additional checks: composite ranges and boundaries
211+ assertTrue (v .satisfies (">=1.2.0 <2.0.0" ));
212+ assertFalse (v .satisfies (">1.2.3 <2.0.0" ));
218213 }
219214 }
215+
216+ private void assertVersionParts (Version version , int major , int minor , int patch ) {
217+ assertEquals (major , version .getMajor ());
218+ assertEquals (minor , version .getMinor ());
219+ assertEquals (patch , version .getPatch ());
220+ }
220221}
0 commit comments